如何在xulrunner中从浏览器内容页面调用chrome函数

时间:2012-09-10 14:58:51

标签: xul xulrunner

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

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

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

1 个答案:

答案 0 :(得分:3)

有一个非常精细的article on this topic on MDN。在不危及安全性的情况下实现此目的的最佳方法是从您的网页发送通用事件。顶部XUL文档应调用addEventListener(),第四个参数设置为true,这将允许它接收此类不受信任的事件。数据可以通过事件目标的属性传递,然后XUL文档可以检查该属性。