Một cách là truy cập vào một URL duy nhất và sau đó kiểm tra xem liệu một liên kết đến URL đó có được CSS truy cập hay không.
Bạn có thể xem ví dụ về điều này trong "Phát hiện ẩn danh" (Liên kết chết) .
Bài nghiên cứu của cùng một tác giả để thay thế liên kết Phát hiện ẩn danh ở trên
Trong main.htmlthêm một iframe,
<iframe id='testFrame' name='testFrame' onload='setUniqueSource(this)' src='' style="width:0; height:0; visibility:hidden;"></iframe>
và một số mã 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 = '';
}
Sau đó, trong test.htmlđó được tải vào 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>
LƯU Ý: việc thử điều này từ hệ thống tệp có thể khiến Chrome kêu lên về "Javascript không an toàn". Tuy nhiên, nó sẽ hoạt động phục vụ từ một máy chủ web.
incognitonếu bạn có thể xác định nó một cách dễ dàng :)