DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JS控制靜態頁面傳遞參數並獲取參數應用
JS控制靜態頁面傳遞參數並獲取參數應用
編輯:關於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>

以上所述是小編給大家介紹的JS控制靜態頁面傳遞參數並獲取參數應用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved