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获取父窗口的元素
Jun 26 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
Jul 09 Javascript
对new functionName()定义一个函数的理解
May 22 Javascript
删除javascript中注释语句的正则表达式
Jun 11 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
Aug 30 Javascript
限制上传文件大小和格式的jQuery插件实例
Jan 24 Javascript
jQuery实现列表内容的动态载入特效
Aug 08 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
Jan 11 Javascript
JavaScript实现反转字符串的方法详解
Apr 27 Javascript
js 发布订阅模式的实例讲解
Sep 10 Javascript
深入理解JavaScript 中的执行上下文和执行栈
Oct 23 Javascript
利用Vue实现一个markdown编辑器实例代码
May 19 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+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
js性能优化技巧
2015/11/29 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
vue 子组件向父组件传值方法
2018/02/26 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
python编写简单爬虫资料汇总
2016/03/22 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
回调函数的意义以及python实现实例
2017/06/20 Python
Python实现自动发送邮件功能
2021/03/02 Python
Python构建网页爬虫原理分析
2017/12/19 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
python3使用腾讯企业邮箱发送邮件的实例
2019/06/28 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
JSP&Servlet技术面试题
2015/05/21 面试题
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
大课间活动制度
2014/01/18 职场文书
班级德育工作实施方案
2014/02/21 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
Python MNIST手写体识别详解与试练
2021/11/07 Python
解决MySQL报“too many connections“错误
2022/04/19 MySQL
讲解Python实例练习逆序输出字符串
2022/05/06 Python