繁体   English   中英

无法从页面Javascript调用Firefox扩展功能

[英]Unable to call Firefox extension function from page Javascript

我有一个带有不同文档对象的XUL扩展名,也许这就是为什么以下内容不起作用的原因:

在我的页面Javascript中:

var evt = document.createEvent("Events");
evt.initEvent("JSON_UPDATE_EVENT", true, false);
document.dispatchEvent(evt);

在扩展中,main.js文件:

document.addEventListener("JSON_UPDATE_EVENT", alert("hello"), false, true);

我什至尝试过:

Application.activeWindow.activeTab.document.addEventListener("JSON_UPDATE_EVENT", alert("hello"), false, true);

在这两种情况下,扩展启动时都只会调用一次alert() ,而不会在事件上调用它。 网页中的文件和扩展名指的是不同的对象,这也许是原因。

在main.js文件中执行以下操作:

var chromeWindow = Services.wm.getMostRecentWindow('navigator:browser');
function rawr() { 
chromeWindow.alert("hello")
}
chromeWindow.gBrowser.addEventListener("JSON_UPDATE_EVENT", rawr, false, true);

每个带有标签的窗口都有其自己的gBrowser。

如果要将其添加到所有当前打开的窗口中,并且将来所有打开的窗口都请参见以下模板: https : //gist.github.com/Noitidart/8673632

使用模板,然后在addDiv和removeDiv中进行编辑

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM