OperaのユーザーJavaScriptをFirefoxのGreasemonkeyと同じタイミングで実行する

詳しい話は Opera のユーザーJavaScript は「.js」か「.user.js」かで実行されるタイミングが違う - m2O - チーム俺等におまかせするとして、結論を書くと。

  1. OperaのUserJSはファイル名をuser.jsではなく、.jsにする
  2. DOMContentLoadedにaddEventListenerする

以上で、Greasemonkeyと同じタイミングで実行されます。
通常のonloadとの違いは画像などの読み込み完了を待たずに実行される点で、これが結構大きな違いになることが多々あります。

具体的にはこんな感じ。

// ==UserScript==
// @name           sample
// @namespace      http://ss-o.net/
// @include        http://ss-o.net/*
// @version        0.0
// ==/UserScript==

document.addEventListener('DOMContentLoaded', function() {
//なんか書く
},false);

ついでに、GM関数とかを適当に定義してあるサンプルファイルを置いときます。
http://ss-o.net/userjs/sample.js

というわけで、AutoPagerize_operaなどを修正してあります。