Тема закрыта
Страницы: 1
Сидя на работе, необходимо не привлекать внимание к тому, что я запускаю режим инкогнито. Но когда окно разворачивается на весь экран с любого расстояния видно фиолетовую полосу. Хотелось бы поставить на стартовую страницу что-то нейтральное, типа яндекса, но не знаю как это сделать.
Подскажите, как можно это сделать?
Отсутствует
Efremov
Без сторонних решений - никак (если только не включить перманентный браузинг в приватном режиме. В этом случае всегда будет открываться заданная стартовая страница).
Так что вот вам кнопка для Custom Buttons (Как добавить кнопку(помощь для новичка)):
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EHide%20Private%20Browsing%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAAHLSURBVHjapJO/a1NRFMc/IXmTgajUJkWF6pDJQURwc9DJQQqikgSDP6CRapAnFuTAAc8/0EKHbtqli2MhlA4ZHDLoVCdxF3yCS0upEpHkOnievKYPERzucu75nHvu93wPIQSyB6gDBvSAxE/PY/VD+RmwAMTAd2AfGAArwDLQB3b9LgYKBwo4vAkEYA2o5HR2DFgFRp5byBaIHW5OghNFrngXAYg9Rt2Da/8AfwO2gVfO1HFx9jsL3fuidl7UYlF7L2ofRO2yqJWvz93YKpWicaVy9Guj1b5678F8x3V6gSs8cChMnOTm7ebHKIpCtTYT4mfP/9wBW86SACui9lbUvohaV9Qaova6deduiKIoTJ2YHs4/fPRY1Jqi1vcCS86SAMuitilqe6J2LoTAyVOnb5VK0bhamwmdhe5iCAFRK4jahqgNfcRJ+oW+vxpEbdxotXdS2Nv+LGqfRG3oOT33SS8VcXf2zNmqqG2kbTv8w+GsLjuNVvtSVsR0jKtHyuVrxWLx53S1NnrydPGdqF0UtVlRW/fX34jaBTfb7zFmjDTy4DZw/C9+aB4wUo6VXwJTOWDFXw6HrJyzTHs+5yVXe+B/zl+m/1nnXwMAY3uTjXBINIsAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis._handleClick%20%3D%28%29%3D%3E%20setStyle%28cbu.setPrefs%28s%2C%20%21cbu.getPrefs%28s%29%29%29%3B%0A%0Avar%20s%20%3D%20%27CB.HidePrivateBrowsing%27%3B%0Acbu.isPref%28s%2C%20false%29%3B%0Avar%20help%20%3D%20self.Help%3B%0Avar%20tab%20%3D%20%27about%3Anewtab%27%3B%20//%20%u0417%u0430%u043C%u0435%u043D%u0438%u0442%u044C%20about%3Anewtab%20%u043D%u0430%20%u043D%u0443%u0436%u043D%u044B%u0439%20%u0430%u0434%u0440%u0435%u0441%0A%0Afunction%20HidePrivateBrowsing%28%29%20%7B%0A%20%20var%20win%20%3D%20RecentWindow.getMostRecentBrowserWindow%28%29%3B%0A%20%20if%20%28%21%28PrivateBrowsingUtils.isWindowPrivate%28window%29%0A%20%20%20%20%20%20%26%26%20win.content.document.location.href%20%3D%3D%20%22about%3Aprivatebrowsing%22%29%29%20return%3B%0A%20%20setTimeout%28%28%29%3D%3E%20%7B%0A%20%20%20%20win.content.document.location.href%20%3D%20tab%3B%0A%20%20%20%20removeEventListener%28%27DOMWindowCreated%27%2C%20HidePrivateBrowsing%2C%20false%2C%20window%29%3B%0A%20%20%7D%2C0%29%0A%7D%0A%0Afunction%20setStyle%28%29%20%7B%0A%20%20var%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0A%20%20var%20uri%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28help%29%29%3B%20%0A%0A%20%20try%20%7B%20sss.unregisterSheet%28Services.previousUri%20%7C%7C%20uri%2C%200%29%20%7D%20catch%28e%29%20%7B%7D%3B%0A%20%20Services.previousUri%20%3D%20uri%3B%0A%0A%20%20cbu.getPrefs%28s%29%20%26%26%20sss.loadAndRegisterSheet%28uri%2C%200%29%3B%0A%7D%3B%0Acbu.getPrefs%28s%29%20%26%26%20setStyle%28%29%3B%0A%0Afunction%20toggleEnabled%28%29%20%7B%0A%20%20var%20val%20%3D%20cbu.getPrefs%28s%29%0A%20%20var%20func%20%3D%20%20val%20%3F%20addEventListener%20%3A%20removeEventListener%3B%0A%0A%20%20self.checked%20%3D%20val%3B%0A%20%20func%28%22DOMWindowCreated%22%2C%20HidePrivateBrowsing%2C%20false%2C%20window%29%3B%0A%7D%0AtoggleEnabled%28%29%3B%0AgPrefService.addObserver%28s%2C%20toggleEnabled%2C%20false%29%3B%0AaddDestructor%28%28%29%3D%3E%20gPrefService.removeObserver%28s%2C%20toggleEnabled%29%29%3B%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B@namespace%20url%28http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%29%3B%0A%0A@-moz-document%20url%28chrome%3A//browser/content/browser.xul%29%20%7B%0A%0A%09*%20%23private-browsing-indicator-titlebar%2C%0A%09*%20%23private-browsing-indicator%2C%0A%09*%20.private-browsing-indicator%20%7B%0A%09%20%20visibility%3A%20collapse%20%21important%3B%0A%09%7D%0A%0A%7D%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Включена - заменится стартовая страница, и скроется индикация на панели вкладок. Страницу задавать в коде (там откомментировано - где).
Код страшненький и, наверное, проще можно, но уж как умею.
Отсутствует
turbot
Шикарная кнопка! Жалко, что её саму нельзя спрятать, так как при уборке её с панели, она перестает работать, или если её закрепить там же, где и кнопки "приватный просмотр", "журнал", "новое окно", то она тоже не реагирует на нажатия, и судя по всему, не работает. Но она совершенно не бросается в глаза, и при открытии приватного окна теперь стартовая страница браузера открывается. Это отлично! Огромное спасибо!
P.S. 1. Не увидел в коде, где можно задать адрес.
2. При открытии нового окна в приватном режиме, всё-таки показывется страница с фиолетовой полосой. Но эту проблему можно решить, переходя по ссылке какой-нибудь, а потом уже вводить адрес.
Отредактировано Efremov (09-06-2016 11:43:26)
Отсутствует
Efremov
если её закрепить там же, где и кнопки "приватный просмотр", "журнал", "новое окно", то она тоже не реагирует на нажатия, и судя по всему, не работает.
Это да. Кнопки в меню гамбургера не инициализируются после старта браузера/открытия окна пока не откроешь это меню.
Можно спрятать кнопку и переключать сочетанием клавиш. Добавьте в конец кода во вкладке "инициализация":
self.style.visibility = 'collapse'; var alertsService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService); addEventListener('keyup', (e)=> { if (e.altKey && e.shiftKey && !e.ctrlKey && e.keyCode == 72) {// Alt + Shift + H См.: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode#Constants_for_keyCode_value e.preventDefault(); e.stopPropagation(); setStyle(cbu.setPrefs(s, !cbu.getPrefs(s))) cbu.getPrefs(s) ? alertsService.showAlertNotification(self.image, self.label, 'Включено!', false, "", null, "") : alertsService.showAlertNotification(self.image, self.label, 'Выключено!', false, "", null, ""); } }, false, window);
- переключаться будет по Alt + Shift + H (английская ) независимо от текущей раскладки клавиатуры.
Либо просто поместите на скрытый тулбар. Например, в панель меню (ту, что по нажатию Alt появляется).
Отсутствует
2. Эээ, не понял. Код как раз и срабатывает при открытии нового приватного окна. Можно подробнее? Но, если вы имеете ввиду, что иногда не срабатывает, то попробуйте увеличить таймаут здесь (время в миллисекундах, перед тем, как сработает код, после открытия нового окна). Может, не успевает сработать.
Нового окна... Я оговорился. Я имел ввиду, что при открытии новой вкладки в приватном окне. Вот эта новая вкладка открывается с фиолетовой полоской "приватный просмотр".
А с панелью меню очень даже может сработать. Попробую.
Отсутствует
Efremov
Ага, виноват. Поленился на чистом профиле проверить. У меня-то открывалась страница спиддиала. Чтобы в новых вкладках приватного режима открывалась не about:privatebrowsing, надо перезаписать новую вкладку с дефолтной about:newtab. Поправил. В новых вкладках (если кнопка включена) будет открываться то, что задано для переменной tab в коде (но обратите внимание, что значение tab теперь должно отличаться от about:newtab!).
Заодно поправил и листенер на сочетание клавиш (на чистом профиле он конфликтовал с открытием меню по alt) и сделал так, что иконка кнопки, скрытая стилем, видна в режиме настройки интерфейса.
Замените все во вкладке инициализация:
this._handleClick =()=> setStyle(cbu.setPrefs(s, !cbu.getPrefs(s))); var s = 'CB.HidePrivateBrowsing'; cbu.isPref(s, false); var help = self.Help; var tab = 'about:blank'; // Заменить about:newtab на нужный адрес var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); sss.loadAndRegisterSheet(makeURI("data:text/css," + encodeURIComponent('#main-window:not([customizing="true"]) #' + self.id + '{visibility:collapse!important}')), 0); function HidePrivateBrowsing() { var win = RecentWindow.getMostRecentBrowserWindow(); if (!(PrivateBrowsingUtils.isWindowPrivate(window) && win.content.document.location.href == "about:privatebrowsing")) return; setTimeout(()=> { win.content.document.location.href = tab; removeEventListener('DOMWindowCreated', HidePrivateBrowsing, false, window); },0) } function setStyle() { var uri = makeURI("data:text/css," + encodeURIComponent(help)); try { sss.unregisterSheet(Services.previousUri || uri, 0) } catch(e) {}; Services.previousUri = uri; cbu.getPrefs(s) && sss.loadAndRegisterSheet(uri, 0); }; cbu.getPrefs(s) && setStyle(); function toggleEnabled() { var val = cbu.getPrefs(s) var func = val ? addEventListener : removeEventListener; var newTab = val ? aboutNewTabService.newTabURL = tab : aboutNewTabService.resetNewTabURL(); self.checked = val; func("DOMWindowCreated", HidePrivateBrowsing, false, window); } toggleEnabled(); gPrefService.addObserver(s, toggleEnabled, false); addDestructor(()=> gPrefService.removeObserver(s, toggleEnabled)); var alertsService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService); addEventListener('keydown', e=> { if (e.altKey && e.shiftKey && !e.ctrlKey && e.keyCode == 72) {// Alt + Shift + H См.: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode#Constants_for_keyCode_value e.preventDefault(); e.stopPropagation(); setStyle(cbu.setPrefs(s, !cbu.getPrefs(s))) cbu.getPrefs(s) ? alertsService.showAlertNotification(self.image, self.label, 'Включено!', false, "", null, "") : alertsService.showAlertNotification(self.image, self.label, 'Выключено!', false, "", null, ""); } }, false, window);
Добавлено 09-06-2016 21:27:14
P.S.: Кстати, скоро (по-моему с 49-ой версии) уже будет не одна полоса, а целое буйство фиолетового. Оцените:
Отредактировано turbot (09-06-2016 21:27:14)
Отсутствует
turbot
А я-то переживал из-за маленькой фиолетовой полоски...
Очень вовремя я задался этим вопросом. Вообще эта часть возможностей браузера (создание кнопок) обходила меня стороной. Очень было интересно узнать, думаю надо будет изучить глубже и самому научиться писать их.
Отсутствует
Тема закрыта
Страницы: 1