2012-03-14 43 views
0

是否有可能獲得先前的父窗口的ID,如果你有document.location.href="diffPage.htm?name="+string;,其中字符串將每一次改變推出的子窗口?的document.getElementById在另一個窗口

基本上我有與id=favouritesTab是去調用一個函數時diffPage.htm主窗口,叫main.html中。

我試圖window.parent.document.getelementById()

var favouritesScreen = window.parent.document.getElementById('favouritesTab'); 
if(favouritesScreen.style.display == 'inherit') 
{ 
    ..so on 

但它似乎並沒有在所有的工作。有誰知道這是否有解決方案?

回答

1

如果您的頁面託管在同一個域中,則在原始窗口中訪問文檔是可能是通過window.opener屬性。

一個完整的演示是在這裏:http://jsfiddle.net/eAjqX/1/show/

  1. 點擊按鈕,打開一個新的窗口。
  2. 一旦點擊在新窗口中,你會看到身體的輸入字段的值含量的變化。
  3. 導航離去的使用所提供的鏈接,在原來的頁面。
  4. 重複步驟2.您將看到window.opener.document.getElementById仍然有效。

這個演示的代碼(jQuery是沒有必要):

// New window page: 
var i = 0; 
document.onclick = function(){ 
    try { 
     alert(window.opener.document.getElementById('test').value); 
    } catch (e) { 
     alert(e); 
    } 
}; 
// Launcher 
window.open("http://jsfiddle.net/eAjqX/show"); 
相關問題