如何将事件附加到弹出父母的父母?

时间:2010-11-24 05:09:11

标签: javascript

我想将一个事件附加到弹出父母的父母身上。

层次结构是这样的: -

包含iframe的Form1(母版页)打开Form2(没有母版页)会打开一个弹出窗口。

我想通过Javascript识别Form2打开的弹出窗口中的Form1。我该怎么办?

仅适用于Form2。

window.opener.document.attachEvent("onclick",setfocus);

2 个答案:

答案 0 :(得分:0)

仅当所有内容都在same hostname, protocol, and port number上时,如果窗口尚未关闭:

// if you're opening Form2 from outside the iframe
window.opener.opener.document.attachEvent("onclick",setfocus); 

// if you're opening Form2 from inside the iframe
window.opener.opener.parent.document.attachEvent("onclick",setfocus);

请注意,attachEvent仅限IE / Opera,因此如果您希望跨浏览器使用此功能,请考虑using addEventListener用于其他浏览器。

我还会认真考虑打开众多弹出窗口,打开弹出窗口中的弹出窗口,等。对于至少可公开访问的Web应用程序,弹出窗口阻止程序会很大足够的问题。

答案 1 :(得分:0)

它对我有用

window.top.opener.window.top.document.getElementById("contentIFrame").document.attachEvent("onclick",setfocus);