Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
让Firefox插件选项卡感觉像chrome://newtab_Firefox_Firefox Addon Sdk_Jpm - Fatal编程技术网

让Firefox插件选项卡感觉像chrome://newtab

让Firefox插件选项卡感觉像chrome://newtab,firefox,firefox-addon-sdk,jpm,Firefox,Firefox Addon Sdk,Jpm,我正在开发一些chrome/firefox扩展,我想实现的是两者之间尽可能相似的用户体验。我已经明白,在chrome中,您可以(通过manifest.json)注册以覆盖chrome://newtab,在firefox中,这不是一件容易的工作。我想在firefox中实现的是,一旦用户单击浏览器操作按钮,它就会打开带有本地HTML页面的新选项卡。此代码仅用于: var buttons = require('sdk/ui/button/action'); var tabs = require('sd

我正在开发一些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
属性,它将启动重定向循环

有没有办法让它看起来像一个新标签,但保持地址栏为空


谢谢

如果地址栏是空的,它们可能会覆盖newtab页,而newtab页会得到一个空的地址栏。其他所有东西都有一个URI。它们没有,因为如果你把文本光标放在地址栏中,然后按ESC键,它就不再是空的了——你会得到相同的结果。”resource://.....“小径。如果你打开一个新标签,你会看到firefox的新标签,而不是插件的标签。然后我建议你看看这样一个扩展的源代码——如果他们有resource://路径,他们可能也在使用SDK。谢谢!我认为我无法访问他们的扩展源代码,因为他们的javascript被缩小了,但看起来与SDK一起工作的javascript是完全开放的!稍后我将测试他们的解决方案,并将其作为一个答案发布在这里,如果它按预期工作。如果地址栏为空,他们可能会覆盖newtab页面,该页面将获得一个空的地址栏。其他所有东西都有一个URI。它们没有,因为如果你把文本光标放在地址栏中,然后按ESC键,它就不再是空的了——你会得到相同的结果。”resource://.....“小径。如果你打开一个新标签,你会看到firefox的新标签,而不是插件的标签。然后我建议你看看这样一个扩展的源代码——如果他们有resource://路径,他们可能也在使用SDK。谢谢!我认为我无法访问他们的扩展源代码,因为他们的javascript被缩小了,但看起来与SDK一起工作的javascript是完全开放的!稍后我将测试他们的解决方案,并将其作为答案发布在这里,如果它按预期工作。