如何在没有enablePrivilege的情况下将视图对象分配给XUL树窗口小部件

时间:2011-10-13 11:30:04

标签: javascript firefox xul

我发现Firefox中已弃用enablePrivilege。我正在尝试调整我的Intranet代码库。

最关键的地方是分配'树'元素的'视图'。这需要提升私人,但我真的不明白为什么。有没有其他方法可以做到这一点,不需要提升权限?在enablePrivilege消失之前,是否会提供一种方法?

应用程序不是扩展名,而是作为内容运行的签名JAR文件。

1 个答案:

答案 0 :(得分:2)

通过bug 546848查看,Mozilla不再计划允许具有提升权限的网站。此功能引入了根本不值得的安全风险(类似于远程XUL)。建议的解决方案是使用Firefox扩展来执行可能需要的任何特殊操作。理想情况下,您可以将整个Web应用程序UI移动到扩展中,只将服务器作为后端。但我想这个解决方案需要你付出太多努力。一个更简单的解决方案是一个单一用途的扩展,它从您的网站接收消息并设置树视图。

Interaction between privileged and non-privileged pages描述了如何实现此通信。您的网站会在_myTreeView元素上设置一个属性<tree>,并在其上发送一个事件。扩展程序将收到该事件,验证event.target.ownerDocument.defaultView.location.host是您的Intranet网站(重要的是,允许任何网站触发您的扩展程序将是一个安全漏洞),然后设置event.target.view = event.target.wrappedJSObject._myTreeView。有关wrappedJSObject为何需要{{1}},请参阅XPCNativeWrapper documentation