代码之家  ›  专栏  ›  技术社区  ›  Wuff

Firefox中的空白私人浏览页面

  •  1
  • Wuff  · 技术社区  · 7 年前

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

    我想我可以对任何chrome页面使用chrome\uURL\u覆盖。所以我试着:

    {
      "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==
    // @name Blank aboutPrivateBrowsing page
    // @include chrome://browser/content/aboutPrivateBrowsing.xhtml
    // ==/UserScript==
    
    window.location.href="about:blank";
    

    但Greasemonkey似乎无法处理chrome URL。

    有人能想出另一个解决方案吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Smile4ever    7 年前

    目前,您无法在私有模式下覆盖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);
    

    遗憾的是,上面的代码出现了一个明显的图形故障。您可能可以使用tab来代替favIconUrl。title==“New Tab”(但这只适用于英文版Firefox)。

    推荐文章