我正在为Firefox开发新的标签页替换插件。安装完成后,当我单击新选项卡图标打开新选项卡时,新选项卡打开正常,但地址栏显示凌乱的URL: 资源://firefox_p-at-getblog-dot-com/getblog_buttons_page/data/newtab.html
如何将地址栏设为空?
答案 0 :(得分:2)
只有few pages在URI栏中有“空白”uris。
现在,您有几个选择:
browser.xul
,只需将您的附加URI添加到gInitialPages
或者将about模块和gInitialPages
内容结合起来。override
about:newTab
。这可能(会?)有副作用,但是,像其他加载项仍然覆盖about:newTab
,现在恰好是您的加载项的新页面,可能或可能根本不起作用和/或打破东西。答案 1 :(得分:1)
setCurrentURI
/ webNavigation
对象上有一个名为docShell
的函数。这是一个时髦的,我从来没有找到它真正的用途。但它完全符合你的需要。
gBrowser.webNavigation.setCurrentURI(Services.io.newURI('about:blank', null, null))
将其设置为about:blank
将其删除,您可以将其设置为任何网址,但不会更改网页,只会更改网址。
所以请听一下新标签的页面DOMContentLoaded
,并在加载后立即运行此代码。也许可以更快地改变它,比如检测输入框的值何时改变。
我无法弄清楚如何让它设置实际读取about:newtab
的网址,也许其他人可以帮助我们,看起来如果你将其设置为about:ANYTHING
它只是空白网址栏如果ANYTHING
已被一个关于url的内容所占用,那么就像:newtab,about:about blanks it。很奇怪也许有人可以帮我们弄清楚如何欺骗我也很好奇。
答案 2 :(得分:0)
你可能想用你自己的自定义替换它:protocol - 这里有soem docs如何做到这一点:
https://developer.mozilla.org/en-US/docs/Custom_about:_URLs
以下是一个相当复杂的SDK插件的真实示例:https://github.com/mixedpuppy/about-awards/blob/master/lib/main.js#L171-L192