指定した要素"以外"を非表示にしたほうがいいんじゃないかな?

指定した要素を消すのは楽しいのだけど、いかんせん全部やるのはめんどくさい。実際のところ、消したくない要素は本文のみで、それ以外は全部消しちゃってもいいんじゃないかと思う。

そんなわけでブックマークレット書いてみた。

ブックマークレットを実行すると、マウスの乗ってる要素の背景がオレンジになる。「↑」キーを押すと親要素がオレンジになる。クリックするか Enter を押すことによって、オレンジになっている要素以外が全部消えてくれる。選択状態 (=背景オレンジ状態) を抜けるときは Esc キー。

Opera ではちゃんと動く。Firefox だと、何故かイベントリスナーが消えてくれない。誰か理由を教えてください。↓このエラーと関係があるんだろうか?

Error: [Exception... "Illegal operation on WrappedNative prototype object"  nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)"  location: "JS frame :: 

問題点が消えたら UserJS にして、Cookie を使って選択した要素を覚えてくれるようにしようと思う。

なんとかしたいところは、background-image がある場合はオレンジにならないことと、↓こういう HTML 構造のときは邪魔な要素を消せないところかな。(そんなに気にならないけど)

<div>
本文
<div>広告</div>
</div>

続きを書いた。