Firefox 使用新选项卡页面替换加载项打开新选项卡时,如何保持地址栏清晰?
我正在为Firefox开发一个新的标签页替换插件。安装后,当我单击“新建选项卡”图标打开新选项卡时,新选项卡将正常打开,但地址栏显示一个混乱的URL: resource://firefox_p-at-getblog-dot-com/getblog_buttons_page/data/newtab.htmlFirefox 使用新选项卡页面替换加载项打开新选项卡时,如何保持地址栏清晰?,firefox,firefox-addon,firefox-addon-sdk,Firefox,Firefox Addon,Firefox Addon Sdk,我正在为Firefox开发一个新的标签页替换插件。安装后,当我单击“新建选项卡”图标打开新选项卡时,新选项卡将正常打开,但地址栏显示一个混乱的URL: resource://firefox_p-at-getblog-dot-com/getblog_buttons_page/data/newtab.html 如何使地址栏为空?您可能想用自己的自定义about:protocol替换地址栏-以下是有关如何执行此操作的soem文档: 在一个相当复杂的SDK插件中有一个真实的例子:只有一个在URI栏中有
如何使地址栏为空?您可能想用自己的自定义about:protocol替换地址栏-以下是有关如何执行此操作的soem文档: 在一个相当复杂的SDK插件中有一个真实的例子:只有一个在URI栏中有“空白”URI的插件 现在,您有两个选择:
- 覆盖/注入到
中,只需将您的附加URI添加到browser.xul
或者将about模块和GinitialPage结合起来ginitialpage
- 实现一个about模块,如@canuckistani所建议的。虽然这仍然会显示一个URI,但它将是一个更好的URI李>
- 或者,作为最后手段,
。但是,这可能(将?)有副作用,就像其他仍然覆盖着关于:newTab
的附加组件一样,它现在恰好是您的附加组件的新页面,它可能会工作,也可能不会工作和/或破坏内容about:newTab
- 在
webNavigation
/docShell
对象上有一个名为setCurrentURI
的函数。它很时髦,我从来没有发现它的真正用途。但它正是你所需要的
gBrowser.webNavigation.setCurrentURI(Services.io.newURI('about:blank', null, null))
将其设置为about:blank
将其清空,您可以将其设置为任何url,但不会更改页面,只更改url
因此,请听新选项卡的pageDOMContentLoaded
,加载后立即运行此代码。也许可以更快地更改它,比如检测输入框的值何时更改
我不知道如何将url设置为实际阅读
about:newtab
,也许其他人可以帮助我们,似乎如果您将其设置为about:ANYTHING
它只是将url栏清空,如果ANYTHING
已经被about url占用,那么像about:newtab,about:about清空它。奇怪的是,也许有人能帮我们弄清楚如何欺骗我也很好奇的东西。我想尝试一下覆盖:newTab方法。你能详细说明一下吗?如何覆盖:newTab?谢谢。因为这实际上是所有方法中最不有利、最容易出错的方法,所以我决定不详细说明。我不知道你为什么投了反对票,我修正了它,这是一个有效的问题。