E 'possibile stabilire se Chrome è in modalità in incognito attraverso un utente-script?
-
04-10-2019 - |
Domanda
I fatto questa domanda prima di ma non mettere in chiaro che volevo dire in script utente, non in JavaScript da un webpage.So sarò più chiaro ora.
E 'possibile determinare se Google Chrome è in modalità in incognito tramite un utente-script (in pratica una corsa script come un'estensione nel browser, non uno script in esecuzione su una pagina web)?
Soluzione
Se si sta sviluppando un'estensione quindi è possibile utilizzare l'API schede per determinare se una finestra / scheda in incognito.
Maggiori informazioni possono essere trovate sul code.google.com .
Se sono solo lavorando con una pagina web o un userscript, non è facile, ed è progettato per essere in quel modo. Tuttavia, ho notato che tutti i tentativi di aprire un database (window.database) falliscono quando in incongnito, questo è perché quando in incognito alcuna traccia dei dati è consentito di essere lasciato sulla macchina degli utenti.
Non ho provato, ma ho il sospetto che tutte le chiamate al localStorage riescono anche.
Altri suggerimenti
Per rilevare se una finestra è in modalità in incognito, controllare il in incognito Proprietà del relativo Tab o oggetto Window. Ad esempio:
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
}
Al giorno d'oggi è abbastanza facile da fare questo da uno script di contenuti. Proprio l'uso
if(chrome.extension.inIncognitoContext) {
//you're incognito
} else {
//you're not
}