Javascript Firefox附加SDK:相当于Chrome“;chrome“url覆盖”;

Javascript Firefox附加SDK:相当于Chrome“;chrome“url覆盖”;,javascript,firefox-addon,firefox-addon-sdk,Javascript,Firefox Addon,Firefox Addon Sdk,我正在为几种浏览器制作附加模块,包括Chrome和Firefox 我只是用Chrome做了我想做的:覆盖新的选项卡url,以加载带有manifest.json的HTML文件。很简单。(现在我可以再次复制粘贴:): 当用户创建一个新的空白选项卡时,它会覆盖默认页面并加载我想要的文件:override.html,行为相同(地址栏中没有URL) 但是现在,我想使用附加SDK对Firefox做同样的事情。我尝试使用浏览器.newtab.url: var { get, set } = require("s

我正在为几种浏览器制作附加模块,包括Chrome和Firefox

我只是用Chrome做了我想做的:覆盖新的选项卡url,以加载带有
manifest.json
的HTML文件。很简单。(现在我可以再次复制粘贴:):

当用户创建一个新的空白选项卡时,它会覆盖默认页面并加载我想要的文件:
override.html
,行为相同(地址栏中没有URL)

但是现在,我想使用附加SDK对Firefox做同样的事情。我尝试使用
浏览器.newtab.url

var { get, set } = require("sdk/preferences/service");
var { when: unload } = require("sdk/system/unload");

var oldValue = get("browser.newtab.url");

set("browser.newtab.url", 'http://www.example.com');

// Restore old setting when unload
unload(function() {
  set("browser.urlbar.autoFill", oldValue);
});
它可以工作,但是我真的可以加载一个HTML文件,而不是给它一个新的URL(代码更易于维护),并保持一个干净的地址栏


有什么想法吗?

谢谢,但我看不到与我所问内容相关的链接:我可以在“新建”选项卡上替换URL,但我想加载一个文件(就像“chrome\u URL\u覆盖”一样)。如果不清楚,很抱歉。只需将URL重定向替换为文件路径,即可正常工作。:)您可能必须使用文件uri。如果这不起作用,那么试试resource/chrome uri,它会起作用。但是用户会在地址栏中看到文件uri?谢谢,我会试试。谢谢,但我没有看到我要问的链接:我可以在新选项卡上替换URL,但我想加载一个文件(就像“chrome\u URL\u覆盖”一样)。如果不清楚,很抱歉。只需将URL重定向替换为文件路径,即可正常工作。:)您可能必须使用文件uri。如果这不起作用,那么试试resource/ChromeURI,它会起作用。但是用户会在地址栏中看到文件uri?谢谢,我要试试。
var { get, set } = require("sdk/preferences/service");
var { when: unload } = require("sdk/system/unload");

var oldValue = get("browser.newtab.url");

set("browser.newtab.url", 'http://www.example.com');

// Restore old setting when unload
unload(function() {
  set("browser.urlbar.autoFill", oldValue);
});