日記 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