2011-08-22 130 views
3

在我的插件中,我有一个HTML页面,在安装/更新时显示。 Firefox显然显示了页面的chrome:// URI,并且我试图弄清楚如何防止这种情况发生(仅出于美学原因,请介意你......)。从Firefox插件隐藏位置栏

我知道一些附加组件能够隐藏某些标签/页面上的位置栏:它们是如何做到的?

回答

4

Firefox有一个列表,其中包含隐藏地址栏的URL:http://hg.mozilla.org/mozilla-central/file/f41df039db03/browser/base/content/browser.js#l4146。如果你有一个浏览器覆盖,你应该能够自己的URL添加到列表:

if (typeof XULBrowserWindow == "object" && XULBrowserWindow.inContentWhitelist instanceof Array) 
    XULBrowserWindow.inContentWhitelist.push("chrome://..."); 

的检查是为了确保你没有做错什么,如果在将来的某个版本Firefox的代码更改。

+0

谢谢,正是我需要的! – CAFxX

+0

如果'XULBrowserWindow'未定义,你可以通过使用window mediator服务来获得对它的引用:'Components.utils.import(“resource://gre/modules/Services.jsm”); const XULBrowserWindow = Services.wm.getMostRecentWindow('navigator:browser')。XULBrowserWindow;' – rampion