2008年12月25日木曜日

UserScriptを利用可能にするGreasemetal

既存のブラウザ(IE、FireFox等)から、Google Chromeに乗り換えられない理由として、全開、ユーザーカスタマイズが不備であることを書いた。
唯一ブックマークで動作させることは可能だが、かなりスマートじゃない方法と言える。
それが今回、ユーザー拡張を大幅にできる、FireFoxではお馴染みの「GreaseMonkey」(グレモン)のChrome版が配布開始となった。
サイボウズ・ラボ(株)は12月10日、Greasemonkeyスクリプトを「Google Chrome」で利用可能にするソフト「Greasemetal」を公開した。Windowsに対応するフリーソフトで、編集部にてWindows XP/Vista上の「Google Chrome」v0.2.149.29で動作を確認した。現在、同社のラボサイト“31tools.com”からダウンロードできる。
「Greasemonkey」とは、特定のドメインやURLを開いた際に指定したJavaScriptを実行できる「Firefox」用の拡張機能。「Greasemetal」は、このGreasemonkey用のスクリプトをGoogle製のWebブラウザー「Google Chrome」で利用できるようにするソフト。ただし、すべてのスクリプトを利用できるわけではなく、“GM_”という文字列で始まるGreasemonkey独自の関数を利用しているスクリプトには非対応。
"GM_"関数が使えないのは、ちょっと残念だが、これでかなりの独自機能を追加できる。FireFox用のScriptは同梱しているJAVAScriptエンジンの違いで、動作しないものが多いようだが、AppleSafari用のであれば、かなりの確率で動作するようである。これは、SafariのJAVAScriptエンジンが、Chromeのと同じV8だからであろう。

インストール
Greasemetalをインストールするには、こちらからダウンロードしたファイルを、Google Chromeを全て終了した後、起動させるだけで完了する。

起動
Greasemetalを有効にした状態でGoogle Chromeを使用したい場合は、インストール後に出来たデスクトップ上のアイコンまたはスタートメニューから、Greasemetalを起動しなければならない。もし、Google Chromeから起動した場合は、Greasemetalは有効になってないので、ユーザーScriptは動作しないことになる。

ユーザーScriptの追加
独自のScriptを追加する場合は、Greasemetalのインストールフォルダ下にある「userjs」フォルダ内に、*****.user.jsファイルを追加するだけでよい。

便利なScript
何個かChrome上で動作が確認されているScriptを紹介します。
oAutoPagerize        「次のページ」がある場合、スクロールエンドで自動で次のページを追加表示してくれるScript。検索結果の表示など、とても便利です
Greased Lightbox Linkイメージがある場合、クリックしてそのURLに飛ばなくても表示してくれるScriptです。
UserScript.org        GreaseMonkey, Greasemetalで動作するScriptを集めたサイト。ここで必要なScriptを検索、ダウンロードして使うことができる。

最初の自作Script
当然ですが、自分に合ったScriptが見つかる保障はありません。そんな時は、Greasemetalの作法に則って、自作しちゃえばいいわけです。
ちょっとしたHelloWorldを作ってみますね。

// ==UserScript== 
// @name          Hello Everyone 
// @namespace     http://anomaly-labo.blogspot.com/ 
// @author        Anomaly Code 
// @version       100000 
// @description   Anomaly's first Greasemetal Script 
// @include       http://*.yahoo.co.jp/* 
// @exclude       http://sports.yahoo.co.jp/* 
// ==/UserScript== alert("Hello, Everyone!!!");
これが、もっともシンプルなGreasemetal用のScriptだと思います。 
// ==UserScript== 
// 
// ==/UserScript== 
で囲まれた部分が、metadataです。ここで、このScriptの情報、動作規定を示します。 
// @name        これは、このScriptの名前です。他のScriptと同居させる場合、重ならない名前にしましょう。 
// @namespace   このScriptの関連URLを示します。上記では、このBlogを示しています。 
// @author      このScriptの作者名です。 
// @version     このScriptのバージョン番号です。 
// @description このScriptの説明です。
ここまでが、Scriptの属性情報です。 
// @include     このScriptが動作するべきURLを示します。ワイルドカード「*」が使えます。複数ある場合は
         複数行に分けて記述する事ができます。 
// @exclude     このScriptを動作させないURLを示します。
これで、Scriptの作法は終わりです。以下、V8エンジンに対応したJAVAScriptを記述していけば、思ったような 動作をさせる事が出来るようになります。  保存する場合、ファイル名と保存場所に気をつけなければなりません。Greasemetalの場合、ユーザースクリプトは 必ず、****.user.jsというファイル名でなければなりません。ここでは、「hello.user.js」として、Greasemetal が保存されているフォルダ下の「userjs」フォルダ内に保存しました。   動作確認は、Greasemetalを起動し、Google Chromeが起動するので、http://www.yahoo.co.jp/へアクセスしてみま しょう。無事、Hello, Everyone!!! と表示されましたか?  次にhttp://sports.yahoo.co.jp/にアクセスすると、表示されないのが分かると思います。 include, excludeの動 作が確認できると思います。   今後も、独自Scriptを発表していきたいと思います。

0 件のコメント:

コメントを投稿