リンク一覧
コード
(function(d){ var E=d.createElement, T=d.createTextNode, L=d.getElementsByTagName('a'), r=E('div'), A=function(r,e){r.appendChild(e)}, e,i=0; A(r,T('リンク一覧')); A(r,e=E('a')); A(e,T('×')); e.onclick=function(e,d){return function(){ d.body.removeChild(e) }}(r,d); A(r,E('hr')); for(;i<L.length;i++){ A(r,T(i+1+'.')); A(r,e=E('a')); e.href=L[i].href; e.innerHTML=L[i].innerHTML; A(r,E('br')) } with(r.style){ position='fixed'; top='5px'; left='5px'; zIndex=10000; width='300px'; height='400px'; border='1px solid black'; padding='3px'; backgroundColor='white'; color='black'; overflow='scroll' } A(d.body,r) })(document)
解説
解説を読むより一度実行した方がずっと早く理解できるコードです。
1ヶ所だけ手を抜いてinnerHTMLを使ってます。
positionをfixedにした所あたりがポイントです。
z-indexはInfinityに出来ないようなので10000としました。さすがにこれを超えるものはなかなか無いかと。
余談
途中で、A(r,L[i])とすると、元々のリンクが消えます。
つまり、既存のノードをその親ノード以外にappendChildすると、
そのノードは元々の親元を離れて養子になるみたいです。
1行スクリプト ホーム