使用 Firefox 插件,我希望发送 CustomEvent()到 preference window 。
我使用 openDialog() 打开首选项窗口,并保留对打开的窗口的引用。之后,我尝试调度该事件,但从未收到该事件。
var pWin = window.openDialg("chrome://myextension/path/options.xul", "name", features);
var event = new pWin.CustomEvent("prefwindow-event");
pWin.dispatchEvent(event);
在 prefwindow 范围内,我在 XUL 附加脚本中包含以下代码:
window.addEventListener("prefwindow-event", this.catchEvent, false);
但是,我从未收到过该事件。 CustomEvent() 的文档说
When creating a CustomEvent object, you must create the object from the same window as you're going to fire against.
那么这是否意味着,我永远无法将事件从我的主扩展范围分派(dispatch)到另一个窗口的事件?如果这确实可能,我在这里做错了什么?如果没有,有其他选择吗?
最佳答案
我想下面的方法会起作用
var pWin = window.openDialg("chrome://myextension/path/options.xul", "name", features);
pWin.addEventListener("load", function(){
var event = new pWin.CustomEvent("prefwindow-event");
pWin.dispatchEvent(event);
}, false);
关于javascript - 将 CustomEvent() 分派(dispatch)到 prefwindow - Firefox 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22502868/