2014-02-25 74 views
1

我试图动态地创建我的Firefox扩展全局函数:Firefox扩展 - PageMod脚本修改窗口

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

我现在知道了窗口被XrayWrapper问题缠绕。

window -> [object XrayWrapper [object Window]] 

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

回答

0

从您的插件代码:

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

gBrowser.contentWindow重视当前聚焦的标签文件。可能需要在窗口dispatchEvent的gBrowser所以Services.wm.getMostRecentWindow('navigator:browser').gBrowser.contentWindow

之前坚持一个Services.wm.getMostRecentWindow('navigator:browser')

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