Firefox扩展 - PageMod脚本修改窗口

时间:2014-02-25 14:05:01

标签: javascript firefox dom firefox-addon wrapper

我正在尝试在我的Firefox扩展中动态创建一个全局函数:

window.performAction= function() { ... };

我现在知道窗口是由XrayWrapper问题包装的。

window -> [object XrayWrapper [object Window]]

因此,似乎分配函数绝对没有任何作用。有没有办法像这样安全地修改窗口对象?

1 个答案:

答案 0 :(得分:0)

来自您的插件代码:

gBrowser.contentWindow.addEventListener('customEventListenerMy',doMyFunc,false);
function doMyFunc(){
console.log('doing func');
}

gBrowser.contentWindow附加到当前关注的标签文档。可能需要在gBrowser之前粘贴Services.wm.getMostRecentWindow('navigator:browser') Services.wm.getMostRecentWindow('navigator:browser').gBrowser.contentWindow

在你的窗口dispatchEvent中

var event = new Event('customEventListenerMy');
// Dispatch the event.
window.dispatchEvent(event);