我正在尝试在我的 Firefox 扩展中动态创建一个全局函数:
window.performAction= function() { ... };
我现在知道窗口是由 XrayWrapper 问题包裹的。
window -> [object XrayWrapper [object Window]]
因此,分配该函数似乎完全没有任何作用。有没有办法像这样安全地修改窗口对象?
最佳答案
来自您的插件代码:
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);
关于javascript - Firefox 扩展 - PageMod 脚本修改窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22016534/