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 相关文章推荐
javascript div 弹出可拖动窗口
Feb 26 Javascript
页面中body onload 和 window.onload 冲突的问题的解决
Jul 01 Javascript
jQuery入门知识简介
Mar 04 Javascript
jQuery获得内容和属性方法及示例
Dec 02 Javascript
如何判断元素是否为HTMLElement元素
Dec 06 Javascript
解析AngularJS中get请求URL出现的跨域问题
Dec 01 Javascript
Vue自定义指令介绍(2)
Dec 08 Javascript
浅析BootStrap中Modal(模态框)使用心得
Dec 24 Javascript
Vue2.0实现组件数据的双向绑定问题
Mar 06 Javascript
node.js中express模块创建服务器和http模块客户端发请求
Mar 06 Javascript
使用Vue实现简单计算器
Feb 25 Javascript
Vue操作Storage本地化存储
Apr 29 Vue.js
基于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(8) php 数组
2010/03/05 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
2010/11/01 PHP
php轻量级的性能分析工具xhprof的安装使用
2015/08/12 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
Ext中下拉列表ComboBox组件store数据格式用法介绍
2013/07/15 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
css3实现input输入框颜色渐变发光效果代码
2014/04/02 HTML / CSS
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
应届大专毕业生个人自荐信
2013/09/22 职场文书
自我评价范文
2013/12/22 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
企业宗旨标语
2014/06/10 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
优秀班集体申报材料
2014/12/25 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
大学体育课感想
2015/08/10 职场文书
2019教师的学习计划
2019/06/25 职场文书
关于vue中如何监听数组变化
2021/04/28 Vue.js