Greasemonkeyでウェブの閲覧をカスタマイズする

文:Tony Patton(Special to TecRepublic) 翻訳校正:石橋啓一郎
2008-05-13 08:00:00
  • このエントリーをはてなブックマークに追加

 FirefoxのアドオンであるChickenfootの紹介記事を書いた後、TechRepublicのメンバーがそれに似た機能の他のツールをメールで指摘してくれた。メンバーのフィードバックによれば、Greasemonkeyはそれらのアドオンの中でも人気のあるものの1つだ。この記事ではGreasemonkeyを使ってどのようにウェブの閲覧を拡張し、カスタマイズできるかについて説明しよう。

拡張性

 Greasemonkeyは閲覧するウェブページを操作するスクリプトを書けるようにしてくれるものだ。Greasemonkeyを使えば、ページを修正してアクセスしやすくしたり、ページのエラーを修正したり、他のウェブサイトからのデータを引いてきたりすることができる。これらはすべてJavaScriptで実現されている。

無料配布

 Chickenfootと同様、Greasemonkeyも無料で提供されており、Firefoxのアドオンページからダウンロードすることができる。GreasemonkeyはInternet Explorerでも利用できる。Greasemonkeyのアドオンをダウンロードしてインストールすれば、ウェブを閲覧する際に利用可能になる。

 FirefoxではGreasemonkeyはツールメニューから利用でき、「新規ユーザースクリプト」「ユーザースクリプトの管理」「ユーザースクリプトコマンド」の3つのメニューアイテムが設けられる。Internet Explorer版では、インストール後にGreasemonkeyを操作するためのショートカットが別に作成される。(この記事の例ではFirefox版を使うことにする。)

 Greasemonkeyをインストールすると、ウェブページと相互作用するスクリプトを実行するプラットフォームが作られる。ユーザーは自分でスクリプトを作成してもいいし、ウェブ上で無料で提供されている多くのスクリプトを使ってもいい。

スクリプトを作成する

 新しいウェブページが読み込まれる際に、Greasemonkeyはインストールされているスクリプトのリストを調べ、読み込んでいるページに適用されるスクリプトがあるかどうかを判断する。スクリプトには、それを適用するサイトやドメインを指定したり、除外したりする命令が含まれている。もし適用されるものがあれば、そのページがブラウザに表示される前に、そのスクリプトが実行される。

 スクリプトの始まりと終わりは、コメント形式のラッパーで指定される。これらのコメントが、Greasemonkeyに対し、スクリプトの開始と終了を指定する。ラッパーは次のような形式になっている。

// ==UserScript==
//
// ==/UserScript==

 スクリプトには、そのスクリプトに関する詳細情報を提供するメタデータが含まれている。このメタデータには、対象となるサイトや適用してはならないサイトなどの情報が含まれる。利用されるメタデータ要素は次の通りだ。

  • Name: スクリプトに付けられた名前。スクリプトがインストールされる際に表示されるほか、Manage Scrptsウィンドウでも使われる。
  • Namespace: 1つ以上同じ名前のスクリプトが存在する場合に、それらのスクリプトを区別するのに使われる名前空間。(このアプローチは、JavaやC#などのプログラミング言語でも使われている)
  • Description: スクリプトの目的の簡単な説明。
  • Include: このスクリプトと関連するURLのリスト(スクリプトを実行するURLなど)。URLにはワイルドカード文字(*)を使うことができる。複数のURLを指定する場合は別の行にする。
  • Exclude: このスクリプトを実行してはならないURLのリスト。複数のURLを指定する場合は別の行にする。

 メタデータの部分に続くスクリプトの部分が、望む機能を提供するJavaScriptとなる。

  • 新着記事
  • 特集
  • ブログ