はじめてのgreasemonkey

diveintogreasemonkeyを読みながらやってみる
http://diveintogreasemonkey.org/

ファイル名

  • .user.jsで終わること

とりあえずなんか作ってみる

始めは勿論Hello World!!

  • hello_world.user.js
alert('Hello World!');

このファイルを開いてインストールすると、どこのページ行ってもHello
World!のポップアップが。取りあえず動いたのでよしとする。うざいので
unableにしておく。

meta data

最初のコメントアウト部分にも意味があるみたい。

// ==UserScript==
// @name Hello World
// @namespace http://hoge.hoge/download/
// @description example script to alert "Hello World!" on every page
// @include *
// @exclude http://hoge.hoge/*
// ==/UserScript==

alert('Hello World!');
// ==UserScript==
//
// ==/UserScript==

これが特別なシグナルになってるみたいね。
@name,@description,@includeとか@excludeとかのはManage UserScriptを見たらちゃんと反映されてた。

このへんのtagは名前からしてよくわかった。

hello worldの改良

例題として1分後にhelloworldを出力するように改良
  • ダメな例
function helloworld(){
    alert('Hello World!');
}

window.setTimeout("helloworld()", 60);
  • まぁまぁな例
window.helloworld = function() {
    alert('Hello world!');
}

window.setTimeout("helloworld()", 60);
  • 良い例
window.setTimeout(function() { alert('Hello world!') }, 60);