Полезная информация

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№108-06-2016 16:28:11

Efremov
Участник
 
Группа: Members
Зарегистрирован: 22-08-2014
Сообщений: 15
UA: Firefox 46.0

Как задать стартовую страницу в режиме инкогнито?

Сидя на работе, необходимо не привлекать внимание к тому, что я запускаю режим инкогнито. Но когда окно разворачивается на весь экран с любого расстояния видно фиолетовую полосу. Хотелось бы поставить на стартовую страницу что-то нейтральное, типа яндекса, но не знаю как это сделать.
Подскажите, как можно это сделать?

Отсутствует

 

№208-06-2016 22:19:11

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 50.0

Re: Как задать стартовую страницу в режиме инкогнито?

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

Включена - заменится стартовая страница, и скроется индикация на панели вкладок. Страницу задавать в коде (там откомментировано - где).

Код страшненький и, наверное, проще можно, но уж как умею. shuffle.gif

Отсутствует

 

№309-06-2016 10:18:04

Efremov
Участник
 
Группа: Members
Зарегистрирован: 22-08-2014
Сообщений: 15
UA: Firefox 46.0

Re: Как задать стартовую страницу в режиме инкогнито?

turbot, огромное спасибо! Буду разбираться.

Отсутствует

 

№409-06-2016 10:57:20

Efremov
Участник
 
Группа: Members
Зарегистрирован: 22-08-2014
Сообщений: 15
UA: Firefox 46.0

Re: Как задать стартовую страницу в режиме инкогнито?

turbot
Шикарная кнопка! Жалко, что её саму нельзя спрятать, так как при уборке её с панели, она перестает работать, или если её закрепить там же, где и кнопки "приватный просмотр", "журнал", "новое окно", то она тоже не реагирует на нажатия, и судя по всему, не работает. Но она совершенно не бросается в глаза, и при открытии приватного окна теперь стартовая страница браузера открывается. Это отлично! Огромное спасибо!

P.S. 1. Не увидел в коде, где можно задать адрес.
       2. При открытии нового окна в приватном режиме, всё-таки показывется страница с фиолетовой полосой. Но эту проблему можно решить, переходя по ссылке какой-нибудь, а потом уже вводить адрес.

Отредактировано Efremov (09-06-2016 11:43:26)

Отсутствует

 

№509-06-2016 14:46:23

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 50.0

Re: Как задать стартовую страницу в режиме инкогнито?

Efremov

скрытый текст
1. тут. Можете заменить на любой адрес (например: "https://yandex.ru/").
2. Эээ, не понял. Код как раз и срабатывает при открытии нового приватного окна. Можно подробнее? Но, если вы имеете ввиду, что иногда не срабатывает, то попробуйте увеличить таймаут здесь (время в миллисекундах, перед тем, как сработает код, после открытия нового окна). Может, не успевает сработать.

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 появляется).

Отсутствует

 

№609-06-2016 18:45:22

Efremov
Участник
 
Группа: Members
Зарегистрирован: 22-08-2014
Сообщений: 15
UA: Firefox 46.0

Re: Как задать стартовую страницу в режиме инкогнито?

2. Эээ, не понял. Код как раз и срабатывает при открытии нового приватного окна. Можно подробнее? Но, если вы имеете ввиду, что иногда не срабатывает, то попробуйте увеличить таймаут здесь (время в миллисекундах, перед тем, как сработает код, после открытия нового окна). Может, не успевает сработать.

Нового окна... Я оговорился. Я имел ввиду, что при открытии новой вкладки в приватном окне. Вот эта новая вкладка открывается с фиолетовой полоской "приватный просмотр".

А с панелью меню очень даже может сработать. Попробую.

Отсутствует

 

№709-06-2016 21:16:05

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 50.0

Re: Как задать стартовую страницу в режиме инкогнито?

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-ой версии) уже будет не одна полоса, а целое буйство фиолетового. Оцените:
thumb_aa6fabe4058a3a75b7793f0ffab94f50.jpg 
:lol:

Отредактировано turbot (09-06-2016 21:27:14)

Отсутствует

 

№810-06-2016 10:25:14

Efremov
Участник
 
Группа: Members
Зарегистрирован: 22-08-2014
Сообщений: 15
UA: Firefox 46.0

Re: Как задать стартовую страницу в режиме инкогнито?

turbot :lol::lol::lol:
А я-то переживал из-за маленькой фиолетовой полоски...
Очень вовремя я задался этим вопросом. Вообще эта часть возможностей браузера (создание кнопок) обходила меня стороной. Очень было интересно узнать, думаю надо будет изучить глубже и самому научиться писать их.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]