我正在开发一些 chrome/firefox 扩展,我想要完成的是这两者之间尽可能相似的用户体验。我已经明白,虽然在 chrome 中您可以(通过 manifest.json)注册以覆盖 chrome://newtab,但在 Firefox 中这并不是一件容易的事。我想在 Firefox 中完成的是,一旦用户单击浏览器操作按钮 - 它会打开带有我本地 HTML 页面的新选项卡。这段代码就是这样做的:
var buttons = require('sdk/ui/button/action');
var tabs = require('sdk/tabs');
var wuntils = require('sdk/window/utils');
var handleClick = function (state) {
tabs.open({
"url": "./pages/index.html",
"isPinned": false
});
};
var button = buttons.ActionButton({
id: "mozilla-link",
label: "Visit Mozilla",
icon: {
"16": "./assets/logo.png",
"32": "./assets/logo.png",
"64": "./assets/logo.png"
},
onClick: handleClick
});
这种方法的问题在于,一旦打开新选项卡,地址栏中就会出现 resource://.... URL。我注意到其他一些扩展设法将其删除并保持地址栏为空,但如果我尝试更改tab.url
属性,它会启动重定向循环......
任何想法如何使它看起来像一个新标签但保持地址栏为空?
谢谢!