[英]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.