2010-05-26 5 views
18

Ich asked this question before aber habe es nicht klar, dass ich im Benutzerskript, nicht in JavaScript von einer Webseite gemeint.So werde ich jetzt klarer werden.Kann über ein Benutzerskript ermittelt werden, ob sich Chrome im Inkognito-Modus befindet?

Kann Google Chrome über ein Benutzerskript im Inkognito-Modus ermittelt werden (im Grunde ein Skript, das als Erweiterung im Browser ausgeführt wird, kein Skript, das auf einer Webseite ausgeführt wird)?

+2

warum möchten Sie das wissen? – scunliffe

+0

Ich suche zu schreiben und Erweiterung, die den Tab schließt, wenn es im Inkognito-Modus geöffnet ist, da Google keine Möglichkeit zur Verfügung gestellt hat es nicht vorhanden. – RodeoClown

Antwort

7

Wenn Sie eine Erweiterung entwickeln, dann können Sie die Tabs API, wenn ein Fenster/Tab inkognito ermitteln verwenden.

Weitere Informationen finden Sie unter .

Wenn Sie nur mit einer Webseite oder einem Userscript arbeiten, ist es nicht einfach und so gestaltet. Ich habe jedoch festgestellt, dass alle Versuche, eine Datenbank (window.database) zu öffnen, fehlschlagen, wenn sie incognito sind, weil in incognito keine Spuren von Daten auf dem Benutzercomputer verbleiben dürfen.

Ich habe es nicht getestet, aber ich vermute, dass alle Aufrufe von localStorage auch fehlschlagen.

+1

[localStorage funktioniert, aber die Werte werden verworfen, wenn die private Sitzung beendet wird] (http://htmlui.com/blog/2011-08-23-5-obscure-facts-about-html5-localstorage.html). Das wäre also keine effektive Erkennungsmethode für die aktuelle Sitzung. –

+1

localStorage verhält sich wie sessionStorage, wenn sich Chrome im InCognito-Modus befindet. –

11

Um festzustellen, ob ein Fenster in Inkognito-Modus ist, des jeweiligen Tab oder Window-Objekt die inkognito Eigenschaft überprüfen. Zum Beispiel:

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

0

Heutzutage ist es ziemlich einfach, dies von einem Inhaltsskript zu tun. Verwenden Sie einfach

if(chrome.extension.inIncognitoContext) { 
    //you're incognito 
} else { 
    //you're not 
} 
Verwandte Themen