javascript - 将 CustomEvent() 分派(dispatch)到 prefwindow - Firefox 插件

标签 javascript dom firefox-addon dom-events xul

使用 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/

相关文章:

javascript - 使用 PageAsyncTask 在页面上调用 javascript 代码

javascript - 是否可以检测三星股票浏览器

java - 如何用java删除XML节点

javascript - 使用 nosql 作为浏览器扩展?

javascript - 从引导扩展绘制 UI 覆盖

javascript - 如何使用 Javascript 在 onmouseover 时注册 onclick 事件

javascript - 读取媒体\\:thumbnail RSS feed with Jquery

Java+DOM : How do I elegantly rename an xmlns:xyz attribute?

javascript 修改元素的样式

javascript - `Firefox`扩展无法发送跨域请求