Действительно ли возможно определить, находится ли Chrome в режиме инкогнито с помощью пользовательского сценария?

Я задал этот вопрос прежде, но не прояснил, что имел в виду в пользовательском сценарии, не в JavaScript от веб-страницы. Таким образом, я буду более ясным теперь.

Действительно ли возможно определить, находится ли Google Chrome в режиме инкогнито с помощью пользовательского сценария (в основном скрипт, запущенный как расширение в браузере, не сценарий, выполняемый на веб-странице)?

21
задан Josh Lee 6 June 2018 в 19:32
поделиться

2 ответа

Если вы разрабатываете расширение, вы можете использовать API вкладок, чтобы определить, является ли окно / вкладка инкогнито.

Дополнительную информацию можно найти на code.google.com .

Если вы просто работаете с веб-страницей или пользовательским скриптом, это непросто, и так задумано. Однако я заметил, что все попытки открыть базу данных (window.database) терпят неудачу в режиме инкогнито, потому что в режиме инкогнито не допускается оставлять никаких следов данных на компьютере пользователя.

Я не тестировал его, но подозреваю, что все вызовы localStorage тоже терпят неудачу.

8
ответ дан 29 November 2019 в 21:57
поделиться

Чтобы определить, находится ли окно в режиме в режиме инкогнито, проверьте инкогнито свойство соответствующего объекта Tab или объекта окна. Например:

var bgPage = chrome.extension.getBackgroundPage();

function saveTabData(tab, data) {
  if (tab.incognito) {
    bgPage[tab.url] = data;       // Persist data ONLY in memory
  } else {
    localStorage[tab.url] = data; // OK to store data
}

http://code.google.com/chrome/extensions/overview.html

11
ответ дан 29 November 2019 в 21:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: