我正在尝试编写具有一些高级控件的扩展(远远超过从列表中选择或检查/取消启动)。
我希望创建单独的页面来执行所有必需的操作,理想情况下它将是单独的选项卡。
问题是:
是否可以创建XUL窗口并将其插入浏览器选项卡?
现在我只有一个想法 - 将html页面存储到/ content文件夹中,然后使用它们。但我不喜欢那个用户会看到一些奇怪的网址://blalbla/content/control.html等。
答案 0 :(得分:1)
也适用于XUL页面。但是,如果您要隐藏用户的chrome:
网址,您可以创建一个将about:myext
重定向到chrome:
网址的组件。部分摘录如下:
myAbout.prototype = {
QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsIAboutModule]),
getURIFlags: function(aURI) {
return Components.interfaces.nsIAboutModule.ALLOW_SCRIPT;
},
newChannel: function(aURI) {
var channel = ioSvc.newChannel("chrome://myext/content/myext.xul", null, null);
channel.originalURI = aURI;
return channel;
}
};
然后,您必须使用合同ID @mozilla.org/network/protocol/about;1?what=myext
注册您的组件,这会将about:myext
重定向到您的XUL页面。