新規スクリプトの作成
まずはスクリプトの作成方法からメタ情報の話まで。
Greasemonkeyで新しくスクリプトの作り方は2つ方法がある
ステータスバーのGreaseMonkeyアイコンを右クリックして、新規ユーザスクリプトを選択。
ダイアログのそれぞれの項目についてはGreaseMonkeyスクリプト作成クイックスタート - mitc - 日記を読むといいでしょう。
http://*
https://*
最長一致でした。content/convert2RegExp.js at master from greasemonkey's greasemonkey - GitHub
正規表現的なマッチは*(アスタリスク)以外使えないので、もっと詳細なマッチをしたい場合はスクリプト内で判別するようにする。
*(アスタリスク)は最短一致なので、正規表現とは違い、
http://efcl.info/*/fuga?* と書いたとき、
http://efcl.info/hoge/fuga? にはマッチし、
http://efcl.info/hoge/foo/fuga? にはマッチしない。
また、Greasemonkey0.82からはローカルでの動作はデフォルトではOFFになったため、file:///*のような指定しただけでは動作しないことに注意。
about:configのgreasemonkey.fileIsGreaseableをtrueにする必要がある。
Greasemonkey ver 0.82解説 - 枕を欹てて聴く
よく見かけられる例が@includesにhttp://www.google.tld/* という指定がある場合にはtld部分がcomやco.jpなどGreasemonkeyであらかじめ用意されたドメイン文字列とマッチする。(あんまり信用しすぎないように)
詳しくはMagic TLD - greasemonkey - GitHubを読む。
これでダイアログにあるメタ情報については説明終了。
他にもメタ情報は存在するので、詳しくはGreasemonkey Manual - Metadata Block - greasemonkey - GitHubを読む。
他にあるメタ上で使われるものとして、ライブラリなどを外部URLから読み込める@requireと同じく外部からリソース(画像やCSS)を読み込む@importは使われることが多い。
ここで注意することはスクリプトにもメタ情報は書いただけではメタ情報は更新されない事。
インストールし直すことでメタ情報の更新が行われれる(@requireや@importはインストールしたタイミングでダウンロードされる)
結局どんなメタ情報を入れておけばいいかというと、自分は以下のような感じにしている。
@homepageはUserscripts.org用な感じがする。定型文でも作っておくと楽です。
Greasemonkeyで新しくスクリプトの作り方は2つ方法がある
- 新規ユーザスクリプトのダイアログから作る
- .user.jsのファイルを作りFirefoxにD&Dしてインストールする
ステータスバーのGreaseMonkeyアイコンを右クリックして、新規ユーザスクリプトを選択。
ダイアログのそれぞれの項目についてはGreaseMonkeyスクリプト作成クイックスタート - mitc - 日記を読むといいでしょう。
- @name Greasemonkeyの区別に使われる名前です。
- @Namespace 同じく区別に使われるので、ドメインなどを入れておくのが定番
- @Description 説明文。Userscripts.orgに置くときとかは書いてあると勝手に読み取ってくれる。
- @includes 動作するURL。正規表現は使えないが、*が使え何に対しても最短一致する。
http://*
https://*
最長一致でした。content/convert2RegExp.js at master from greasemonkey's greasemonkey - GitHub
正規表現的なマッチは*(アスタリスク)以外使えないので、もっと詳細なマッチをしたい場合はスクリプト内で判別するようにする。
また、Greasemonkey0.82からはローカルでの動作はデフォルトではOFFになったため、file:///*のような指定しただけでは動作しないことに注意。
about:configのgreasemonkey.fileIsGreaseableをtrueにする必要がある。
Greasemonkey ver 0.82解説 - 枕を欹てて聴く
- @excludes 動作しないURLを指定する。基本的にincludesと同じなので省略
よく見かけられる例が@includesにhttp://www.google.tld/* という指定がある場合にはtld部分がcomやco.jpなどGreasemonkeyであらかじめ用意されたドメイン文字列とマッチする。(あんまり信用しすぎないように)
詳しくはMagic TLD - greasemonkey - GitHubを読む。
これでダイアログにあるメタ情報については説明終了。
他にもメタ情報は存在するので、詳しくはGreasemonkey Manual - Metadata Block - greasemonkey - GitHubを読む。
他にあるメタ上で使われるものとして、ライブラリなどを外部URLから読み込める@requireと同じく外部からリソース(画像やCSS)を読み込む@importは使われることが多い。
ここで注意することはスクリプトにもメタ情報は書いただけではメタ情報は更新されない事。
インストールし直すことでメタ情報の更新が行われれる(@requireや@importはインストールしたタイミングでダウンロードされる)
結局どんなメタ情報を入れておけばいいかというと、自分は以下のような感じにしている。
@homepageはUserscripts.org用な感じがする。定型文でも作っておくと楽です。
// ==UserScript== // @name Filename // @namespace http://efcl.info/ // @description 説明文 // @author azu // @homepage http://efcl.info/ // ==/UserScript==
- TB-URL http://efcl.info/adiary/044/tb/
1: satyr 2010年06月06日(日) 午前7時03分
> *(アスタリスク)は最短一致なので、正規表現とは違い、
.* に置き換えるので最長一致のはず。
[re = convert2RegExp('http://efcl.info/*/fuga?*'),
re.test('http://efcl.info/hoge/fuga?'),
re.test('http://efcl.info/hoge/foo/fuga?')]
//=> [/^http:\/\/efcl\.info\/.*\/fuga\?.*$/i, true, true]
2: Generic Cialis 2011年05月21日(土) 午後4時53分
Thank you for sharing to us.there are many person searching about that now they will find enough resources by your post.I would like to join your blog anyway so please continue sharing with us
<a href="http://www.genericsmed.com/buy-cheap-generic-cialis-tadalafil-p-1.html">Generic Cialis</a> || <a href="http://www.genericsmed.com/buy-cheap-careprost-generic-lumigan-bimatoprost-opthalmic-solution-eye-drop-p-1147.html">Careprost</a> || <a href="http://www.genericsmed.com/buy-cheap-generic-propecia-finasteride-p-4.html">Generic Propecia</a>