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 3D球状导航的文章分类
Jul 06 Javascript
jQuery登陆判断简单实现代码
Apr 21 Javascript
高效的jquery数字滚动特效
Dec 17 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
JS定时器用法分析【时钟与菜单中的应用】
Dec 21 Javascript
教你快速搭建Node.Js服务器的方法教程
Mar 30 Javascript
Angular2.js实现表单验证详解
Jun 23 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
Jan 23 Javascript
Vue3 源码导读(推荐)
Oct 14 Javascript
Vuex的实战使用详解
Oct 31 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
Nov 05 Javascript
基于Vue的侧边目录组件的实现
Feb 05 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 mysqli扩展类是否开启
2016/12/24 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
如何使用Javascript获取距今n天前的日期
2013/07/08 Javascript
js实现幻灯片播放图片示例代码
2013/11/07 Javascript
关闭浏览器时提示onbeforeunload事件
2013/12/25 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
举例讲解AngularJS中的模块
2015/06/17 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
NodeJS的Promise的用法解析
2016/05/05 NodeJs
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
vue.js实现二级菜单效果
2019/10/19 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
2019/11/09 Javascript
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
[54:10]完美世界DOTA2联赛PWL S2 Magma vs FTD 第二场 11.29
2020/12/03 DOTA
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
在python中使用with打开多个文件的方法
2019/01/07 Python
Anconda环境下Vscode安装Python的方法详解
2020/03/29 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
HTML5添加禁止缩放功能
2017/11/03 HTML / CSS
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
婚内房产协议书范本
2014/10/02 职场文书
js之ajax文件上传
2021/05/13 Javascript
python 经纬度求两点距离、三点面积操作
2021/06/03 Python
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python