如何加载远程服务器上的xul文件,而不是本机chrome协议的xul文件.
Gecko 2.0 note
(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)
可以加载远程XUL文件一直是一个潜在的安全问题;所以,从Gecko 2.0起,该功能已被基本禁用. 同样,你也不能加载本地 file://
协议的XUL文件,除非你将选项dom.allow_XUL_XBL_for_file
设置为 true
. 然而, 远程XUL文件并不是被完全禁用.存在一个可以向里面添加网址的白名单,该白名单中的远程XUL文件都可以被加载.扩展 Remote XUL Manager 提供了可以轻松管理这个白名单的界面, 其原理是调用了XPCOM接口 nsIPermissionManager
, 来创建一条类型为"allowXULXBL"的记录, 核心代码如下:
Components.classes["@mozilla.org/permissionmanager;1"] .getService(Components.interfaces.nsIPermissionManager) .add(uri, 'allowXULXBL', Components.interfaces.nsIPermissionManager.ALLOW_ACTION);
查看 使用远程 XUL.
OReillyNet Article, Part 1 OReillyNet Article, Part 2
限制
查看 远程XUL bugs 了解远程XUL相比Chrome:// XUL的一些功能限制.