Greasemonkeyのイベントバッティングについて。
とりあえず、こんな感じで避けるといいのかなあ?
var defaultEventFunction = null;
if(elem.onkeyup) defaultEventFunction = elem.onkeyup;
foo.onkeyup = function(e) {
if(defaultfunction) defaultEventFunction(e);
foo(e);
var();
}
イベント以外に引数がある場合とかは、どうすれば良いかは、考え中。
件のコメントカウンタとタグ補完の奴は、基本は上記のやり方で対処した。あとで整理して、アップするつもり。
ちなみに、コメントカウンタは家では動くのに、会社では動かないという微妙な状態だった*1ので、ほぼ一から組んでみた。
そして、とても気持ちの悪い汚いコードになった…。
-
- -
追記:
とりあえず、上げました。
ベータ版ということで。
"["が、2つ以上あると補完の動作がおかしい…。
あと、コメントカウンタは、バイト数ベースの換算に変えたのと、コメント編集を開いたときに最初から文字数を表示するようにしてみた。
-
- -
家帰ってきてから再確認。ヤバい。インストールする順番関係あります。数字の順に。
動かない人は報告下されば、うれしいです。
-
- -
なぜ、順序性が出るのか不思議で、テストコード書いて試したんだけど、読みが外れたみたい…。理由がわからん…。
- http://zero-signal.jp/junk/js/conflicttestcasea.user.js
- http://zero-signal.jp/junk/js/conflicttestcaseb.user.js
- http://zero-signal.jp/junk/js/conflicttestcasec.user.js
- http://zero-signal.jp/junk/js/conflicttestcased.user.js
どのパターンでも問題なさそう。(適当にしか試してないから、網羅したとはいえないけど。)
-
- -
fotolifeのコメントのリクエストがanotherさんから来てるけど、fotolife殆ど使ってない!コメント欄なんてあったんだ!
-
- -
fototitleがunicodeの96バイトだった。
しかも、マルチな入力フォームか。しばらくうまいやり方を考えます…。
*1:多分、何かの拡張と相性が悪いのか?