Пустая приватная страница просмотра в Firefox
Я хотел бы написать 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"
}
Но, похоже, его можно использовать только для определенных хромированных страниц, верно?
Смотрите: 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 не может обрабатывать URL-адреса Chrome.
Кто-нибудь может придумать другое решение?
1 ответ
В настоящее время вы не можете переопределить:newtab в приватном режиме. Однако, что вы должны иметь возможность делать внутри WebExtension:
- Прослушайте открытие вкладок о: приватном просмотре с помощью API вкладок https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/onCreated
- Создайте новую вкладку с помощью browser.tabs.create({}) (без URL она создаст пустую вкладку) и закройте предыдущую вкладку (используя tabid).
Тогда у вас будет более или менее то же самое.
Код:
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 == "Новая вкладка" (но это будет работать только для английских версий Firefox).