とても興味深い内容だったのでメモ。
id:Hamachiya2さんのデモのソースを見るとCSSの:visited擬似クラスと、JavaScriptを併用した形で、動的にコンテンツを入れ替える方法が分かります。
まずCSSで:visited擬似クラスに別のスタイルを書いておいて
a {
display: block;
height: 22px;
overflow: hidden;
}
a:visited {
height: 16px;
}
JavaScriptの以下のようなコードで、訪問の有無を調べています。
var defHeight = 22;
var visHeight = 16;
...中略...
// 引数にはa要素ノードを入れる
// その高さがデフォルトでない(既訪問リンク)ならtrueを返す
// その高さがデフォルト(未訪問リンク)ならfalse返す
function checkVisited(elm) {
return (elm.offsetHeight != defHeight);
}
実行はwindow.onloadのイベントで。なるほど。
自らの意図しない情報が、このように簡単に取得されてしまうのかと思うと、気持ちが悪いな・・・と思うと同時に、簡単であるが故に防ぎようがないと思いました。