greasemonkey入門

greasemonkeyfirefoxのアドオンで、javascriptを用いて様々な機能を追加することができます。


表示のカスタマイズ、広告の無効化、キーボードショートカット、ブラウザゲーの自動化など、
HTML,javascript,cssで行われることなら何でもできる感じです。


ちょっと前まではいろいろ解説サイトあったと思うのですが、
最近調べたら参考になるサイトが減っている気がしたのでここにまとめておきます。



ソースの最初に書くスクリプトの名前とかの宣言。

// ==UserScript==
// @name              スクリプトの名前
// @namespace         スクリプトの名前がかぶった時区別するもの。自分のサイトのURLなどを指定。 
// @description       スクリプトの説明
// @include           スクリプトを適用するサイト。*を指定するとすべてのサイトに。
// ==/UserScript==


HelloWorld
上の宣言の後に追加して書く。どこのサイトでもダイアログを出しHello Worldと表示されます。

(function() {
	alert("Hello World");

})();

上で書いたHelloWorldのサンプル。UTF-8じゃないと文字化けすると思います。
https://addons.mozilla.org/ja/firefox/addon/greasemonkey/
でアドオン導入後、↓のコードをテキストエディタで「helloworld.user.js」という名前で保存して、
FireFoxドラッグアンドドロップでインストールできます。

// ==UserScript==
// @name            Hello world
// @namespace       http://d.hatena.ne.jp/gravit/
// @description     すべてのサイトでHello worldとポップアップで表示
// @include         *
// ==/UserScript==

(function() {
	alert("Hello World");

})();

functionで囲む利用は↓
http://efcl.info/adiary/Greasemonkey%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E5%85%A8%E4%BD%93%E3%82%92%E7%84%A1%E5%90%8D%E9%96%A2%E6%95%B0%E3%81%A7%E5%9B%B2%E3%81%86%E6%84%8F%E5%91%B3


firebugなどのコンソールにデバッグ情報を表示する。

(function() {
	 GM_log ( "debug message" );

})();

メッセージのPOST

(function() {
	 GM_xmlhttpRequest({
		    method : 'POST',
		    url    : 'POSTするURL',
		    headers: {'Content-type': 'application/x-www-form-urlencoded',},
		    data   : 'bookmarkurl=' + location.href + '&bookmarksitetitle=' +  document.title,
		    onload: function(response) {alert("BookMark Success!")}
     });

})();


参考サイト
Google Notebook
ナマケモノになりたいishiducaが書いてます : Twitterにポストするための小窓を作るユーザスクリプト(Greasemonkey)を書いてみた
http://linuxserver.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0/JavaScript/Firefox%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89%E3%82%92%E5%A4%89%E6%9B%B4.php