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 相关文章推荐
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
Sep 19 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
Apr 12 Javascript
js 弹出虚拟键盘修改密码的简单实例
Oct 10 Javascript
解析jQueryEasyUI的使用
Nov 22 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
Jan 11 Javascript
bootstrap Table服务端处理分页(后台是.net)
Oct 19 Javascript
微信小程序progress组件使用详解
Jan 31 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
Oct 12 Javascript
JS工厂模式开发实践案例分析
Oct 17 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
Nov 07 Javascript
jquery实现手风琴案例
May 04 jQuery
OpenLayer3自定义测量控件MeasureTool
Sep 28 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 用数组降低程序的时间复杂度
2009/12/04 PHP
PHP编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
PHP实现获取文件后缀名的几种常用方法
2015/08/08 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
2018/08/30 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
2010/10/20 Javascript
jQuery 联动日历实现代码
2012/05/31 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
2016/10/08 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
vue学习之mintui picker选择器实现省市二级联动示例
2017/10/12 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
python机器学习实战之树回归详解
2017/12/20 Python
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
2020/10/10 Python
css3学习心得分享
2013/08/19 HTML / CSS
使用HTML5做个画图板的方法介绍
2013/05/03 HTML / CSS
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
副处级干部考察材料
2014/05/17 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
个人存款证明书
2014/10/18 职场文书
十岁生日答谢词
2015/01/05 职场文书
热爱劳动主题班会
2015/08/14 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题