2012-09-10 37 views
1

我将最初在Firefox中作为远程签名jar文件运行的代码转换为使用XULRunner。有几个报告被实现为带有输出选项的网页。选项包括用XUL和Javascript编写的HTML页面或报表查看器。如何从xulrunner中的浏览器内容页面调用chrome函数

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

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

回答

3

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

+0

谢谢,这有很大的帮助。 – nicktook

相关问题