2012-03-14 45 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"); 
相关问题