【问题标题】:Blank Private Browsing Page in FirefoxFirefox 中的空白私人浏览页面
【发布时间】:2017-11-28 09:43:50
【问题描述】:

我想写一个 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。

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

【问题讨论】:

标签: firefox-addon-webextensions greasemonkey-4 firefox-57+


【解决方案1】:

目前,您无法在私有模式下覆盖 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.title == "New Tab" 代替 favIconUrl(但这仅适用于英文版的 Firefox)。

【讨论】:

  • 感谢您的快速回答。但我仍然不确定我指的是哪种格式 chrome://browser/content/aboutPrivateBrowsing.xhtml? ` browser.webRequest.onBeforeRequest.addListener( listener, {urls: ["chrome://browser/content/aboutPrivateBrowsing.xhtml"]} ); ` 似乎不起作用。
  • 我刚刚检查了以下示例:github.com/mdn/webextensions-examples/tree/master/http-response ...但令人惊讶的是它并没有改变内容。所以我很困惑如何让 webRequest.onBeforeRequest 工作!?
  • 我本来想做这个 browser.webRequest.onBeforeRequest.addListener( listener, {urls: ["about:privatebrowsing"]} );但这是不可能的,见developer.mozilla.org/en-US/Add-ons/WebExtensions/…
  • 感谢您的回答,但检测到 about:privatebrowsing 页面似乎并不容易。 console.log(tab.url) 在 about:privatebrowsing 上返回 about:blank... 这是我的第一次尝试:github.com/bbo2adwuff/BlankPrivateBrowsingPage/blob/master/src/…,但由于 about:blank。即使我将 tabs.create 与 index.html 一起使用,它也会无限期地打开标签。每个新标签是否都以 about:blank 开头???
  • 似乎每个新标签在首次创建时都以 about:blank 开头。我已经更新了上面的代码。
猜你喜欢
  • 1970-01-01
  • 2017-02-04
  • 2014-07-15
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
  • 2016-03-14
  • 2021-04-26
  • 2015-05-22
相关资源
最近更新 更多