在Firefox AddOn中,有没有办法从标签对象中获取窗口对象?或相反亦然?例如,如果我收到TabClose事件,是否有办法获取关联的窗口对象?
答案 0 :(得分:1)
在TabClose中是的,事件参数包含许多有用的东西:
function tabclosee(e) {
console.error('TabClose, e:', e);
}
gBrowser.tabContainer.addEventListener("TabAttrModified", tabclosee, false);
因此,在此图片中,我们看到e.view
是DOMWindow
(xul窗口/镀铬窗口)。目标是tab元素,在关闭情况下HTMLWindow被破坏,因此e.target.linkedBrowser
将为null,但在TabSelect
中它不会为null,您可以访问html窗口,如{{ 1}}
如果您想要来自标签对象的窗口,您也可以这样做:e.target.linkedBrowser.contentWindow
,这与上面的e.target.ownerDocument.defaultView
相同。
在窗口中,您可以访问所有标签,如下所示:
e.view