Grasemonkey用プラグイン(gmperator.js)が開発者に優しくなりました
http://coderepos.org/share/changeset/9038 をご覧になると分かると思いますが、いろいろと変更しました。
- Download: gmperator.js
今回の変更の肝はプラグイン開発者用(g:unsigned:id:Trapezoidさんとか)にliberator.plugins.gmperator
を用意したところですかね。
Greasemonkeyで使用しているsandboxを保持できるようにして、アクセスができるようにしました。*1
簡単に確認するには、
:echo plugins.gmperator.currentSandbox.document.title
:echo plugins.gmperator.curretnContainer
:echo plugins.gmperator.currentSandbox.Minibuffer
*2:js for each(var c in plugins.gmperator.allItem){echo(c.sandbox.document.title + ": "+c.uri,true);}
とかやってみよう。
だいたいの感じはつかめるのではないかと思うけど、liberator.plugins.gmperator.currentSandbox
で現在選択さているタブのページのsandboxにアクセスできる。
あと、ちょっと面白みのある機能として、ユーザスクリプトが実行されたときに、AutoCommandへGMInjectedScriptというイベントを発行するようにした。
:autocmd GMInjectedScript b\.hatena\.ne\.jp.*\nautopagerize :js echo("はてブでAutoPagerizeが実行されました")
:js plugins.gmperator.addAutoCommand('b\.hatena\.ne\.jp/','autopagerize','js echo("はてブでAutoPagerizeが実行されました")
みたいな事が可能。
だからどうした? と、実装したオイラ自身が感じているのだが....どうだろう。誰か使い道を研究してくださいな。
*1:参考:Vimperator + LDRize + Minibufferによる最速ブラウジング - Dis Communication - 符号無し
*2:Minibufferを入れている人用