如何使用JavaScript获取HTML节点所属的窗口对象?

Joe*_*air 8 javascript xul xulrunner

由于有几个iframe,XUL浏览器元素等等,我的XULRunner应用程序中有许多窗口对象.我正在寻找使用JavaScript查找指定节点所属的窗口对象的最佳方法.

所以,更具体地说,给定节点x,我需要找到包含x的特定窗口对象.

Mar*_*aio 11

对你的问题+1,这正是我正在寻找的,并感谢你通过回答自己给出的提示.

我用Google搜索了一下,根据http://www.quirksmode.org/dom/w3c_html.html跨浏览器的表,我认为正确的答案是:

function GetOwnerWindow(html_node)
{
   /*
   ownerDocument is cross-browser, 
   but defaultView works on all browsers except Opera/IE that use parentWinow
   */
   return (html_node.ownerDocument.defaultView) ?
      html_node.ownerDocument.defaultView : 
      html_node.ownerDocument.parentWindow;
}
Run Code Online (Sandbox Code Playgroud)

或者甚至更好:

return html_node.ownerDocument.defaultView || html_node.ownerDocument.parentWindow;
Run Code Online (Sandbox Code Playgroud)

Plz让我知道你的想法.