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 相关文章推荐
讨论html与javascript在浏览器中的加载顺序问题
Nov 27 Javascript
jquery checkbox实现单选小例
Nov 27 Javascript
js中array的sort()方法使用介绍
Feb 20 Javascript
js/jquery判断浏览器的方法小结
Sep 02 Javascript
Jquery 实现table样式的设定
Jan 28 Javascript
实例讲解JavaScript中的this指向错误解决方法
Jun 13 Javascript
js基于cookie记录来宾姓名的方法
Jul 19 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
vuejs中监听窗口关闭和窗口刷新事件的方法
Sep 21 Javascript
详解如何快速配置webpack多入口脚手架
Dec 28 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
May 30 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
Oct 30 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将数据导入到Foxmail
2006/10/09 PHP
dedecms模版制作使用方法
2007/04/03 PHP
php下MYSQL limit的优化
2008/01/10 PHP
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
ThinkPHP字符串函数及常用函数汇总
2014/07/18 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
php+mysqli数据库连接的两种方式
2015/01/28 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
HTML5如何适配 iPhone IOS 底部黑条
2021/03/09 HTML / CSS
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
制作特殊字的脚本
2006/06/26 Javascript
Javascript模块模式分析
2008/05/16 Javascript
input的focus方法使用
2010/03/13 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
2014/12/15 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
jQuery命名空间与闭包用法示例
2017/01/12 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
Python实现冒泡排序的简单应用示例
2017/12/11 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
MxNet预训练模型到Pytorch模型的转换方式
2020/05/25 Python
html5使用canvas画一条线
2014/12/15 HTML / CSS
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
教师试用期自我鉴定
2014/02/12 职场文书
酒店管理求职信范文
2014/04/06 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
先进工作者个人总结
2015/02/15 职场文书