1

我正在将最初在 Firefox 中作为远程签名 jar 文件运行的代码转换为使用 XULRunner。有几个报告被实现为带有输出选项的网页。选项包括 HTML 页面或用 XUL 和 Javascript 编写的报告查看器。

当用户提交表单并选择报表查看器时,我需要打开一个 chrome 窗口。显然,出于安全原因,这不能直接完成。我想提供一个函数或使用某种消息传递方法向包含的 chrome 发出信号,表明需要发生什么。

这可以做到吗?如果可以,怎么做?我正在考虑的事情:1)向内容窗口的窗口或文档对象添加一个函数 2)某种消息传递函数 3)某种客户事件发送/接收 4)一个带有处理程序的特殊 URL 表单,例如 repviewer:/ /repname/参数

4

1 回答 1

3

MDN 上有一篇关于这个主题的相当详尽的文章。在不危及安全的情况下实现此目的的最佳方法是从您的网页发送一个通用事件。顶部 XUL 文档应该调用addEventListener()第四个参数集,true这将允许它接收此类不受信任的事件。数据可以通过事件目标的属性传递,然后 XUL 文档可以检查该属性。

于 2012-09-11T06:45:08.467 回答