Eine Möglichkeit besteht darin, eine eindeutige URL zu besuchen und dann zu überprüfen, ob ein Link zu dieser URL als von CSS besucht behandelt wird.
Ein Beispiel hierfür finden Sie unter "Erkennen von Inkognito" (toter Link) .
Forschungsbericht desselben Autors als Ersatz für den obigen Link "Detecting Incognito"
In main.html
fügen Sie ein iframe,
<iframe id='testFrame' name='testFrame' onload='setUniqueSource(this)' src='' style="width:0; height:0; visibility:hidden;"></iframe>
und etwas JavaScript-Code:
function checkResult() {
var a = frames[0].document.getElementById('test');
if (!a) return;
var color;
if (a.currentStyle) {
color = a.currentStyle.color;
} else {
color = frames[0].getComputedStyle(a, '').color;
}
var visited = (color == 'rgb(51, 102, 160)' || color == '#3366a0');
alert('mode is ' + (visited ? 'NOT Private' : 'Private'));
}
function setUniqueSource(frame) {
frame.src = "test.html?" + Math.random();
frame.onload = '';
}
Dann test.html
werden in den iFrame geladen:
<style>
a:link { color: #336699; }
a:visited { color: #3366A0; }
</style>
<script>
setTimeout(function() {
var a = document.createElement('a');
a.href = location;
a.id = 'test';
document.body.appendChild(a);
parent.checkResult();
}, 100);
</script>
HINWEIS: Wenn Sie dies über das Dateisystem versuchen, kann Chrome über "Unsicheres Javascript" weinen. Es funktioniert jedoch von einem Webserver aus.
incognito
wenn Sie es leicht bestimmen könnten :)