【发布时间】:2012-03-14 02:22:05
【问题描述】:
我需要在两个自主用户脚本之间传递数据——最好不要接触unsafeWindow 对象——我认为使用自定义事件是可行的方法。我想到了这样的事情(为了示例的目的,让我们忽略 MSIE 模型):
addEventListener("customEvent", function(e) {
alert(e.data);
});
var custom = document.createEvent("HTMLEvents");
custom.initEvent("customEvent", true, true);
custom.data = "Some data...";
dispatchEvent(custom);
这在标准 Javascript 环境和一个用户脚本中运行良好,但是当用户脚本触发事件并在其外部或另一个用户脚本内捕获时,data 属性在 Chromium 中为 undefined。我想我可以将传递的数据保存在sessionStorage 中,但这远非无缝。还有其他优雅的解决方案吗?完美需要和可以实现,我能感觉到。
【问题讨论】:
标签: javascript dom google-chrome-extension dom-events userscripts