2012-11-20 95 views
2

是否可以存儲使用window.open()打開的窗口並從其他頁面訪問它?從不同頁面打開窗口

以下是我打開的窗口:

win = window.open("jmap.php?id="+id); 

由於父頁面導航(網站的其他頁面被訪問),我想打電話之前打開的窗口的功能:

win.zoomToPlainte(id) 

如何跨頁保存win變量?

+0

你可以使用'window.opener' – David

回答

1

只要兩個窗口在同一個域,這是可能的。

你需要保存到打開的窗口對象的引用,就像你用做:

var win = window.open("jmap.php?id="+id); 

Window對象都有一個document屬性,它可以讓你訪問它的DOM,像這樣:

win.document.getElementById(...); 

或者您也可以通過使用一個窗口對象調用全局函數/變量:

win.someGlobalFunction(); 

從子窗口中打開它的窗口對象出差回來,使用window.opener屬性,它返回一個窗口對象:

window.opener.document.getElementById(...); 
window.opener.someGlobalFunction(); 
在非IE
+0

注意'窗口.opener'是非標準的,不支持f.ex IE – David

+0

@David'window.opener'屬性是非標準的,但在所有瀏覽器中都支持,包括IE。 – jbabey