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 相关文章推荐
页面js遇到乱码问题的解决方法是和无法转码的情况
Apr 30 Javascript
js 定义对象数组(结合)多维数组方法
Jul 27 Javascript
功能强大的Bootstrap使用手册(一)
Aug 02 Javascript
JS基于面向对象实现的选项卡效果示例
Dec 20 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
Feb 05 Javascript
BootStrap 动态表单效果
Jun 02 Javascript
详谈JS中数组的迭代方法和归并方法
Aug 11 Javascript
javascript 判断用户有没有操作页面
Oct 17 Javascript
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
JavaScript基于面向对象实现的无缝滚动轮播示例
Jan 17 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
Apr 25 Javascript
手机浏览器唤起微信分享(JS)
Oct 11 Javascript
基于JavaScript实现树形下拉框
Aug 10 #Javascript
关于原生js中bind函数的简单实现
Aug 10 #Javascript
Mvc提交表单的四种方法全程详解
Aug 10 #Javascript
mvc中form表单提交的三种方式(推荐)
Aug 10 #Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
Aug 10 #Javascript
浅谈jQuery中的checkbox问题
Aug 10 #Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
Aug 10 #Javascript
You might like
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
原生javascript兼容性测试实例
2013/07/01 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
js 概率计算(简单版)
2017/09/12 Javascript
vue自定v-model实现表单数据双向绑定问题
2018/09/03 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
2018/09/14 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
python自动格式化json文件的方法
2015/03/11 Python
在Python的Bottle框架中使用微信API的示例
2015/04/23 Python
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
Python爬取三国演义的实现方法
2016/09/12 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
详解python分布式进程
2018/10/08 Python
python实现求特征选择的信息增益
2018/12/18 Python
python游戏地图最短路径求解
2019/01/16 Python
python字典排序的方法
2019/10/12 Python
AmazeUI 网格的实现示例
2020/08/13 HTML / CSS
国外平面设计第一市场:99designs
2016/10/25 全球购物
刚毕业大学生自荐信范文
2014/02/20 职场文书
师德模范事迹材料
2014/06/03 职场文书
企业宣传稿范文
2015/07/23 职场文书
Mysql中存储引擎的区别及比较
2021/06/04 MySQL
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers