<<戻る

日記 intime o'

訪問済みwebサイトの調査 - css+JavaScript 2010/3/23(Tue.)
http://phpspot.org/blog/archives/2006/08/cssjavascriptor.html
のメモ。

外部ドメイン等を問わず、urlへのリンクは訪問済みかどうかを
ブラウザによって一つ一つチェックされる。デフォルトでは
リンクは青色で示され訪問済みは赤色で示されるが、
これはそれぞれcssで変更できる。これを利用している。

/* .css */
a{
	display:none;
}
a:visited{
	display:inline;
}
によって訪問済みへの<a>リンクのみが表示される。

/* .html */
訪問済みリンクのリスト。
<div id="checkwhethervisited">
<a href="http://www.example.com">www.example.com</a><br>
<a href="http://www.yahoo.co.jp">www.yahoo.co.jp</a>
</div>
これはチェックする為のリンクを列挙するだけのhtml.
ご察し鋭い。
チェックするurlは全て列挙しなければいけない。だから
訪問サイトの履歴を作るのとは違う。寧ろ消去法(意味、伝わってる?)。

/* .js */
onload=function(){
var X=document.getElementById("checkwhethervisited");
for(window["urlList"]=[],i=0;i<X.childNodes.length;i++){
	if(X.childNodes[i].nodeName!="A")continue;//<a>以外は無視
	if(X.childNodes[i].offsetHeight==0)urlList.push(X.childNodes[i].href);
	//offsetHeightで実際の領域の高さ(px)を取得
	//style="display:none"ならば0pxである。
}
urlListには実際に訪問済みのサイトのurlが要素として列挙された
配列変数となる。すげー。

コメ(0) | トラ(0)


(c)Kero's World