欢迎来到代码驿站!

JavaScript代码

当前位置:首页 > 网页前端 > JavaScript代码

JS控制静态页面之间传递参数获取参数并应用的简单实例

时间:2021-05-15 09:07:56|栏目:JavaScript代码|点击:

在项目中遇到这也一个问题:

有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> 

上一篇:XMLHTTP多浏览器兼容性写法

栏    目:JavaScript代码

下一篇:javascript修改表格背景色实例代码分享

本文标题:JS控制静态页面之间传递参数获取参数并应用的简单实例

本文地址:http://www.codeinn.net/misctech/122107.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有