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.html
thê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.
incognito
nếu bạn có thể xác định nó một cách dễ dàng :)