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 相关文章推荐
如何用angularjs制作一个完整的表格
Jan 21 Javascript
javascript对象的创建和访问
Mar 08 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
May 15 Javascript
带有定位当前位置的百度地图前端web api实例代码
Jun 21 Javascript
javascript+html5+css3自定义提示窗口
Jun 21 Javascript
详解ajax的data参数错误导致页面崩溃
Apr 30 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
Jan 30 Javascript
JavaScript中关于base64的一些事
May 06 Javascript
layui 实现加载动画以及非真实加载进度的方法
Sep 23 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
Jan 16 jQuery
jQuery HTML设置内容和属性操作实例分析
May 20 jQuery
JavaScript 事件代理需要注意的地方
Sep 08 Javascript
基于JavaScript实现树形下拉框
Aug 10 #Javascript
关于原生js中bind函数的简单实现
Aug 10 #Javascript
Mvc提交表单的四种方法全程详解
Aug 10 #Javascript
mvc中form表单提交的三种方式(推荐)
Aug 10 #Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
Aug 10 #Javascript
浅谈jQuery中的checkbox问题
Aug 10 #Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
Aug 10 #Javascript
You might like
PHP 一个页面执行时间类代码
2010/03/05 PHP
关于php curl获取301或302转向的网址问题的解决方法
2011/06/02 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
PHP的Yii框架中过滤器相关的使用总结
2016/03/29 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
JavaScript使用encodeURI()和decodeURI()获取字符串值的方法
2015/08/04 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
vue中v-model动态生成的实例详解
2017/10/27 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
vue源码中的检测方法的实现
2019/09/26 Javascript
javascript实现点亮灯泡特效示例
2019/10/15 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
vuex实现购物车功能
2020/06/28 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
python字符串编码识别模块chardet简单应用
2015/06/15 Python
利用python画出折线图
2018/07/26 Python
python 删除字符串中连续多个空格并保留一个的方法
2018/12/22 Python
python write无法写入文件的解决方法
2019/01/23 Python
企业法人代表任命书
2014/06/06 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL