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重写alert方法的实例代码
Mar 29 Javascript
用js的document.write输出的广告无阻塞加载的方法
Jun 05 Javascript
AngularJS HTML编译器介绍
Dec 06 Javascript
JavaScript生成福利彩票双色球号码
May 15 Javascript
基于jquery实现动态竖向柱状条特效
Feb 12 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
Feb 21 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
Apr 07 Javascript
Javascript实现鼠标框选操作  不是点击选取
Apr 14 Javascript
分享jQuery封装好的一些常用操作
Jul 28 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
Mar 24 jQuery
VUE中v-on:click事件中获取当前dom元素的代码
Aug 22 Javascript
Vue路由的模块自动化与统一加载实现
Jun 05 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
php json转换相关知识(小结)
2018/12/21 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
详细讲解JS节点知识
2010/01/31 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
VUE简单的定时器实时刷新的实现方法
2019/01/20 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
python使用PyFetion来发送短信的例子
2014/04/22 Python
Python列表和元组的定义与使用操作示例
2017/07/26 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
django表单的Widgets使用详解
2019/07/22 Python
原生python实现knn分类算法
2019/10/24 Python
python实现指定ip端口扫描方式
2019/12/17 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
学生党员思想汇报范文
2014/01/09 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
运动会稿件200字
2014/02/07 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
交通局领导班子群众路线教育实践活动对照检查材料思想汇报
2014/10/09 职场文书
学校工会工作总结2015
2015/05/19 职场文书
JavaScript的Set数据结构详解
2022/02/18 Javascript