XPath で選択したノードを Blink する拡張を作ってみた
これはもしかすると、とても危険でセキュリティホールがあるかもしれない事を始めに断っておく。
入れるなら、通常では使用しないテスト用のプロファイルを作成して入れましょう。
- インストール:xpathblink.0.2a.xpi(2007/12/05T00:30:00+0900 更新)
この拡張機能はLatest topics > Firefoxで独自プロトコルを定義する方法 - outsider reflexを参考にしている。
最近のXPatnへのリビドーを満たしてみたものなので他の人のリビドーを刺激できるか微妙なところだが、とりあえず公開。
使い方
xpathblinkという独自schemeを定義しているので、いろいろ面白い使い方ができそう(危険だけど)。要するにURLとしてjavascript:hogehogeと定義するのと同じ使い方が出来る。つまりURLがxpathblink:XPathExpressionとなれば良い。
使用例
URLバーに入力
URLバーにxpathblink://divと入力してENTERすると、全てのdiv要素が数回blinkする。
リンクとして
<p><a href="xpathblink://*[@id='hoge']">id:hoge 要素をblink !!</a></p>
もちろんdocument.location.hrefにも
function blinkDivChildren(){ document.location.href = 'xpathblink:/html/body/div/*'; }
自分の入力した値以外でも動作しちゃうのが楽しいけど、なんか危険!
でもやっぱり楽しい!!
追記
特定ノードを点滅させるのはこないだflashのXPCOM調べてたときにDOM Inspectorで使われてるInterface Reference - inIFlasherっていうやつでもできるというのを発見しました。
特定ノードを点滅させる - ロックスターになりたい
サンクス!
後でinIFlasherを使ったのを作ってみる。
追追記(2007/12/05T00:30:00+0900)
inIFlasherでDOM要素の点滅 - Ci.nsIZIGOROu - Mozilla 拡張機能勉強会のトラックバックによりInterface Reference - inIFlasherの使い方が良く分かったので早速取り込んでみた。id:ZIGOROuさんGJ !!!
今まではnode.style.borderの上書きをしていたので枠線の太さ分要素の大きさが変わってしまっていたが、inIFlasherによりそれが解消された。