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关于select的相关操作说明
Jan 13 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
Jan 10 Javascript
jquery实现加载等待效果示例
Sep 25 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
Oct 31 Javascript
浅析javascript中的DOM
Mar 01 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
Apr 12 Javascript
基于Layer+jQuery的自定义弹框
May 26 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
Feb 15 Javascript
Vue中父组件向子组件通信的方法
Jul 11 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
Apr 16 Javascript
Layui tree 下拉菜单树的实例代码
Sep 21 Javascript
Vue自定义多选组件使用详解
Sep 08 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
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
PHP数据类型的总结分析
2013/06/13 PHP
Google AJAX 搜索 API实现代码
2010/11/17 Javascript
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
python根据京东商品url获取产品价格
2015/08/09 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
Python面向对象之Web静态服务器
2019/09/03 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
Python实现自动整理文件的脚本
2020/12/17 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
用HTML5制作烟火效果的教程
2015/05/12 HTML / CSS
工业自动化毕业生自荐信范文
2014/01/04 职场文书
会计专业大学生求职信范文
2014/01/28 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
离婚协议书的范本
2015/01/27 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
经典祝酒词大全
2015/08/12 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书