Один із способів - відвідати унікальну URL-адресу, а потім перевірити, чи посилання на цю URL-адресу трактується як відвідуваний CSS.
Ви можете побачити приклад цього в "Виявлення анонімного посилання " (мертве посилання) .
Дослідницький документ того ж автора замінить Виявлення посилання Incognito вище
В main.html
додати IFRAME,
<iframe id='testFrame' name='testFrame' onload='setUniqueSource(this)' src='' style="width:0; height:0; visibility:hidden;"></iframe>
та деякий код 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 = '';
}
Потім у test.html
цьому завантажуються в 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>
ПРИМІТКА: спроба цього з файлової системи може змусити Chrome кричати про "Небезпечний Javascript". Однак це буде працювати з веб-сервера.
incognito
якби ви могли це легко визначити :)