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序列化form表单使用ajax提交后处理返回的json数据
Mar 03 Javascript
scrollWidth,clientWidth,offsetWidth的区别
Jan 13 Javascript
JavaScript插件化开发教程 (四)
Jan 27 Javascript
JavaScript实现点击按钮直接打印
Jan 06 Javascript
javascript下使用Promise封装FileReader
Feb 19 Javascript
使用JavaScript获取Request中参数的值方法
Sep 27 Javascript
vue.js初学入门教程(2)
Nov 07 Javascript
EasyUI为Numberbox添加blur事件的方法
Mar 05 Javascript
以v-model与promise两种方式实现vue弹窗组件
May 21 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
Sep 19 Javascript
leaflet加载geojson叠加显示功能代码
Feb 21 Javascript
在 Vue 中编写 SVG 图标组件的方法
Feb 24 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编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
jquery replace方法去空格
2017/05/08 jQuery
详解django模板与vue.js冲突问题
2019/07/07 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
JavaScript find()方法及返回数据实例
2020/04/30 Javascript
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
django form和field具体方法和属性说明
2020/07/09 Python
用python批量下载apk
2020/12/29 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
Puritan’s Pride(普丽普莱)官方网站:美国最大最全的保健品公司之一
2016/10/23 全球购物
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
杭州联环马网络笔试题面试题
2013/08/04 面试题
《夏夜多美》教学反思
2014/02/17 职场文书
网络技术专业求职信
2014/02/18 职场文书
上课看小说检讨书
2014/02/22 职场文书
搞笑创意广告语
2014/03/17 职场文书
领导班子四风对照检查材料范文
2014/09/27 职场文书
大二学年个人总结
2015/03/03 职场文书
旅行社计调工作总结
2015/08/12 职场文书
医院病假条范文
2015/08/17 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书
Django框架之路由用法
2022/06/10 Python