1

我想写一个 WebExtension 有一个空白的私人浏览页面,灵感来自一个旧的扩展:https ://github.com/iPotable/BlankPrivateBrowsingPage

我以为我可以将 chrome_url_overrides 用于任何 chrome 页面。所以我尝试了:

{
  "manifest_version": 2,
  "name": "Blank private browsing page",
    "chrome_url_overrides" : {
       "chrome://browser/content/aboutPrivateBrowsing.xhtml": "index.html"
  },
  "version": "0.1"
}

但它似乎只能用于某些 chrome 页面,对吧?

请参阅:https ://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/chrome_url_overrides

我尝试的第二个选项是 UserScript:

// ==UserScript==
// @name Blank aboutPrivateBrowsing page
// @include chrome://browser/content/aboutPrivateBrowsing.xhtml
// ==/UserScript==

window.location.href="about:blank";

但似乎 Greasemonkey 无法处理 chrome URL。

谁能想到另一种解决方案?

4

1 回答 1

0

目前,您不能在私有模式下覆盖 about:newtab。但是,您应该能够在 WebExtension 中执行以下操作:

然后你将或多或少相同。

代码:

function handleUpdated(tabId, changeInfo, tabInfo) {
    if(changeInfo.favIconUrl){
        //console.log("favIconUrl updated is " + changeInfo.favIconUrl);

        if (tabInfo.incognito && changeInfo.favIconUrl.indexOf("privatebrowsing") > -1){
            //console.log("opening about:blank..");
            browser.tabs.update({url: "about:blank"});
        }
    }
}

browser.tabs.onUpdated.addListener(handleUpdated);

不幸的是,上面的代码给出了一个明显的图形故障。除了 favIconUrl,您也可以使用 tab.title == "New Tab" (但这仅适用于英文版的 Firefox)。

于 2017-11-28T10:21:26.337 回答