ウェブページから要素を削除するFirefox拡張

 記事の真ん中に表示される巨大な画像広告にいらいらすることはないだろうか。あるいはレビュー記事の中の数多くの画像や、掲示板のユーザアイコンを見るために帯域を浪費したくないと思ったことはないだろうか。ウェブページ内の任意の要素をウェブページから消し去るFirefoxのRIP拡張を使えば、ワンクリックでそれらを永久に削除することができる。

 RIP(Remove It Permanently)は、Nuke AnythingAdblockという2つの人気の高いFirefox拡張をヒントにして生まれた。Nuke Anythingは、ウェブページをプリンタフレンドリにするためにページ内の要素を削除することを目的として作られた拡張だが、Nuke Anythingでは削除するべき要素を記憶しておくことができない。またAdblockは画像広告の削除に特化した拡張であり、RIPの方が広告以外のものを含めさまざまな要素を削除することができる。

 RIPでは画像広告の他にも、テキスト広告やテーブル(表)や著作権表示などのテキスト要素さえも削除することができる。またRIP拡張の最大の特長は、削除したコンテンツがあった場所が空白のままにならないという点だ。例えば2つの段落の間にある水平バナーを削除すると、削除されたバナーがあった場所を詰めるようにしてページが表示されるようになる。

RIPを始める

 RIP拡張のインストールは他のFirefox拡張と同様に簡単だ。FirefoxプロジェクトのホームページでRIP拡張の最新版をクリックすると、FirefoxがRIP拡張をダウンロードして自動的にインストールする。その後ブラウザを再起動すると、FirefoxがRIP拡張を自動的に有効にしてくれる。

 RIP拡張をインストールすると、Firefoxで右クリックすると表示されるコンテクストメニューの中に、閲覧中のページに応じて最大3つの項目が追加されているはずだ。最初のオプション「Remove this permanently(この要素を永久に削除)」は、右クリック時にカーソルが指している要素を削除する。なおコンテクストメニューでこのオプションの上にマウスをかざすと、削除される要素が点滅する赤い四角でハイライトされる。

 2つめのオプションは、ページからIFrameを削除する。IFrameとは、ウェブページ内に外部サイトからの別のページを表示するための仕組みだ。IFrameは、多くのウェブサイトにおいて、外部ソースからの広告を表示するために使用されている。またIFrameにはページ全体用とは別にIFrame専用の水平/垂直のスクロールバーがあり、それが原因でページの移動がしにくくなることもある。閲覧中のページ内のIFrameが表示しているコンテンツを削除しても差し障りがない場合、RIPを使用するとIFrameを簡単に削除することができる。IFrame上にカーソルを移動して、「Remove IFrame permanently(IFrameを永久に削除)」を選択するだけだ。

 以上の方法を用いると、ほとんどの場合に不必要なコンテンツを取り去ることができるが、RIPはさらに高度なオプションも提供している。それらの高度なオプションは、コンテクストメニューの3つめのオプションである「RIP Advanced(高度なRIP)」のサブメニューの中にある。

 RIP Advanced(高度なRIP)には、削除の適用範囲を調整することができるオプションが用意されている。デフォルトのオプションでは、カーソルが指しているハイライトされた要素が削除されるのは閲覧中のページからだけだが、閲覧中のサイトの各ページが共通のテンプレートに基づいていて本質的に類似している場合には、その要素をすべてのページから削除することもできる。この操作を行なうためには、削除する領域を選択した後に「Remove this permanently(この要素を永久に削除)」ではなく「RIP Advanced(高度なRIP)→Remove from all similar pages(すべての類似ページから削除)」オプションをクリックする。

 以上のような「閲覧中のページ」や「すべての類似ページ」から要素を削除するオプションの他にも、「ウェブサイト全体」からや「ドメイン全体」から要素を削除するためのオプションがある。この2つのオプションは、いらいらする巨大な画像広告を削除する際に役立つ。

 どこから要素を削除するのかを制御するための上記の4つのオプションを選んだ後は、類似要素のすべてを削除するかどうかなどのオプションを選ぶことになる。なお、類似要素を見つけるためにRIPでは、その要素を定義しているHTMLコードを記録している。

 選択中の要素に類似した全要素を削除するオプションのオプション名の隣には、要素を定義しているHTMLコードも表示される。各要素は、例えばテーブルの中にある <td> タグで定義された単純なセルや、<h2> で定義された見出しのテキストである場合もある。このオプション名の上にマウスをかざすと、削除の対象となる要素のすべてが、点滅する赤い四角でハイライトされる。

 削除したい要素が、例えばテーブル内のセルのように、より大きな要素の一部分である場合について考えてみよう。先に示したオプションを使うと、テーブル内外のすべてのセルが削除されてしまう。しかし特定のテーブル内のセルだけを削除したいという場合には、各セルを一つ一つ削除していくか、または試行錯誤しながら削除したいテーブルの<table>タグを探し出す必要があるだろう。これでは手間がかかりすぎるので、RIPでは、選択した要素の親要素を削除するオプションが用意されている。この場合、テーブルの中のどれでも一要素を選択して「Parent item only(親要素のみ)」オプションを実行すると、当該テーブルとその中のすべてのセルが削除され、その他のテーブルとその中のセルはそのままになる。

 親要素を一つ削除することができるということは、当然、類似するすべての親要素を削除することもできる。繰り返しになるが、RIPは、選択した要素の親要素のタイプを認識することができるため、例えば同じCSSクラス属性で定義されたテーブルなどをまとめて一度で削除することができる。この「All similar parent items(すべての類似の親要素)」オプションでは、すべての親要素に共通のHTMLタグも表示される。