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 相关文章推荐
8个超棒的学习 jQuery 的网站 推荐收藏
Apr 02 Javascript
js判断是否为ie的方法小结
Jan 13 Javascript
JavaScript判断变量是对象还是数组的方法
Aug 28 Javascript
javascript引用赋值(地址传值)用法实例
Jan 13 Javascript
基于javascript制作微博发布栏效果
Apr 04 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
Sep 19 Javascript
JavaScript中的await/async的作用和用法
Oct 31 Javascript
JavaScript 自定义事件之我见
Sep 25 Javascript
JavaScript代码调试方法实例小结
Jan 05 Javascript
Vue基础学习之项目整合及优化
Jun 02 Javascript
JS实现小星星特效
Dec 24 Javascript
如何在 Vue 中使用 JSX
Feb 14 Vue.js
基于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
PHP函数in_array()使用详解
2014/08/20 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
Python中的字符串替换操作示例
2016/06/27 Python
详解python中的文件与目录操作
2017/07/11 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
Python 使用类写装饰器的小技巧
2018/09/30 Python
Python lambda表达式用法实例分析
2018/12/25 Python
python GUI模拟实现计算器
2020/06/22 Python
Pygame框架实现飞机大战
2020/08/07 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
《世界多美呀》教学反思
2014/03/02 职场文书
国贸专业求职信
2014/06/28 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
校长师德表现自我评价
2015/03/05 职场文书
学校教师师德师风承诺书
2015/04/28 职场文书
Java 异步任务计算FutureTask
2022/04/28 Java/Android