Bunun bir yolu, benzersiz bir URL'yi ziyaret etmek ve ardından bu URL'ye giden bir bağlantının CSS tarafından ziyaret edilmiş olarak değerlendirilip değerlendirilmediğini kontrol etmektir.
Bunun bir örneğini "Gizli Modu Algılama" (Ölü bağlantı) bölümünde görebilirsiniz .
Yukarıdaki Gizli Modları Algılanıyor bağlantısının yerini alacak aynı yazara ait araştırma makalesi
Gelen main.html
bir iframe ekleyin
<iframe id='testFrame' name='testFrame' onload='setUniqueSource(this)' src='' style="width:0; height:0; visibility:hidden;"></iframe>
ve bazı JavaScript kodu:
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 = '';
}
Daha sonra test.html
iFrame'e yüklenir:
<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>
NOT: Bunu dosya sisteminden denemek Chrome'un "Güvenli Olmayan Javascript" konusunda ağlamasına neden olabilir. Bununla birlikte, bir web sunucusundan hizmet vermeye çalışacaktır.
incognito
Kolayca belirleyebilseydiniz çok olmazdı :)