JS控制静态页面之间传递参数获取参数并应用的简单实例


Posted in Javascript onAugust 10, 2016

在项目中遇到这也一个问题:

有a.html和b.html。

1.a页面已经打开,b页面尚未打开,我希望在a页面设置好一些列参数,比如背景色,宽度等参数,传递给b页面,好让b页面在打开就能应用。

2.a页面已经打开,b页面无论是否打开。在a页面需要获取到b页面的一些元素甚至变量,以便于应用到a页面。

注意:不涉及跨域问题。

想了很久,终于想到了解决方案。

第一个问题,我们可以利用html页面锚点的特性,将参数通过url传递给b页面

这是a页面代码:

<button>跳转设置</button> 
 <script> 
 var btn = document.querySelector('button'); 
 console.log(window); 
  
 btn.addEventListener('click', function(){ 
 window.location = 'ci.html#bgc=#369?wd=500' 
 }) 
 </script>

由代码可以知道,点击按钮跳转页面,跳转的url后面多了一系列参数,这个并不会影响跳转的地址,当b页面打开后,可以获取location截取字符串获得变量及变量值,再进行应用。

这是b页面代码:

<div></div> 
 <script> 
 var div = document.querySelector('div'); 
 var bl = window.location.hash.slice(1).split('?'); 
 if(bl.length >= 1){ 
 for(var i = 0; i < bl.length; i += 1){ 
 switch (bl[i].split('=')[0]) { 
 case 'bgc': 
 document.body.style.background = bl[i].split('=')[1]; 
 break; 
 case 'wd': 
 div.style.width = bl[i].split('=')[1] + 'px'; 
 break; 
 default: 
 null; 
 break; 
 } 
 } 
 } 
 </script>

通过截取字符串取得url传递过来的变量应用。成功!

第二个问题,我想的是通过iframe来达到目的,这只是一个障眼法。

在a页面动态创建一个iframe,并设置src值为b页面,display为none。再通过iframe的contentDocument属性获取返回的iframe的文档。

在文档内获取到所需要的元素并应用。

源码:

<span>11111111111</span> 
 <script> 
 var fram = document.createElement('iframe'); 
 fram.src = 'http://www.vip.com/kongzhi/fram2.html'; 
 fram.style.display = 'none'; 
 document.body.appendChild(fram); 
 fram.onload = function(){ 
 var doc = fram.contentDocument || fram.contentWindow.document; 
 var p = doc.querySelector('p'); 
 document.body.appendChild(p); 
 } 
 </script>

以上这篇JS控制静态页面之间传递参数获取参数并应用的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery切换显示的效果实例代码
Feb 27 Javascript
判断JS对象是否拥有某种属性的两种方式
Dec 02 Javascript
浅析javascript中的DOM
Mar 01 Javascript
理解JavaScript中Promise的使用
Jan 18 Javascript
Javascript的表单验证-初识正则表达式
Mar 18 Javascript
辨析JavaScript中的Undefined类型与null类型
May 26 Javascript
js中字符型和数值型数字的互相转化方法(必看)
Apr 25 Javascript
JavaScript仿微信打飞机游戏
Jul 05 Javascript
JS中定位 position 的使用实例代码
Aug 06 Javascript
微信小程序实现的日期午别医生排班表功能示例
Jan 09 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
Sep 05 Javascript
ES6箭头函数和扩展实例分析
May 23 Javascript
浅谈JS中的bind方法与函数柯里化
Aug 10 #Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
Aug 10 #Javascript
JS控制静态页面传递参数并获取参数应用
Aug 10 #Javascript
基于JavaScript实现树形下拉框
Aug 10 #Javascript
关于原生js中bind函数的简单实现
Aug 10 #Javascript
Mvc提交表单的四种方法全程详解
Aug 10 #Javascript
mvc中form表单提交的三种方式(推荐)
Aug 10 #Javascript
You might like
Laravel如何使用Redis共享Session
2018/02/23 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
今天是星期几的4种JS代码写法
2013/09/17 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
2015/09/24 Javascript
js格式化时间的方法
2015/12/18 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
2017/06/08 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
vue响应式系统之observe、watcher、dep的源码解析
2019/04/09 Javascript
Node.js API详解之 repl模块用法实例分析
2020/05/25 Javascript
Python可变参数函数用法实例
2015/07/07 Python
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
numpy.linspace 生成等差数组的方法
2018/07/02 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
Python tempfile模块生成临时文件和临时目录
2020/09/30 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
以实惠的价格提供高品质的时尚:Newchic
2018/01/18 全球购物
应届生煤化工求职信
2013/10/21 职场文书
财务管理职业生涯规划范文
2013/12/27 职场文书
作文评语大全
2014/04/23 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
农村婚礼司仪主持词
2015/06/29 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
八年级作文之感恩
2019/11/22 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server