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 最常用的10个自定义函数[推荐]
Dec 26 Javascript
判断及设置浏览器全屏模式
Apr 20 Javascript
js的touch事件的实际引用
Oct 13 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
Apr 18 Javascript
jquery解析XML及获取XML节点名称的实现代码
May 18 Javascript
js实现右键自定义菜单
Dec 03 Javascript
原生JavaScript实现AJAX、JSONP
Feb 07 Javascript
AngularJs 常用的过滤器
May 15 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
Apr 12 Javascript
vue两组件间值传递 $router.push实现方法
May 15 Javascript
解决vue页面渲染但dom没渲染的操作
Jul 27 Javascript
原生JS实现拖拽效果
Dec 04 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模拟asp中response类实现方法
2015/08/08 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
js 设置选中行的样式的实现代码
2010/05/24 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
jquery实现表格隔行换色效果
2015/11/19 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
2017/05/19 jQuery
Node.js开发第三方微信公众平台
2017/06/05 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
JavaScript中ES6规范中let和const的用法和区别
2020/08/06 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
python对离散变量的one-hot编码方法
2018/07/11 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
python单例模式的应用场景实例讲解
2021/02/24 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
校庆团日活动总结
2014/08/28 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
护士长2014年度工作总结
2014/11/11 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
贷款收入证明范本
2015/06/12 职场文书
关于实现中国梦的心得体会
2016/01/05 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
webpack的移动端适配方案小结
2021/07/25 Javascript
python turtle绘图
2022/05/04 Python