Salah satu caranya adalah dengan mengunjungi URL unik dan kemudian memeriksa untuk melihat apakah tautan ke URL itu diperlakukan sebagai dikunjungi oleh CSS.
Anda dapat melihat contohnya di "Detecting Incognito" (Dead link) .
Makalah penelitian oleh penulis yang sama untuk menggantikan link Detecting Incognito di atas
Di main.html
tambahkan iframe,
<iframe id='testFrame' name='testFrame' onload='setUniqueSource(this)' src='' style="width:0; height:0; visibility:hidden;"></iframe>
, dan beberapa kode JavaScript:
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 = '';
}
Kemudian di test.html
-load ke iFrame:
<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>
CATATAN: mencoba ini dari sistem file dapat membuat Chrome menangis tentang "Javascript Tidak Aman". Namun, ini akan berfungsi melayani dari server web.
incognito
jika Anda bisa menentukannya dengan mudah :)