読者です 読者をやめる 読者になる 読者になる

Google Chrome 2.0.170のGreasemonkeyとoAutoPagerizeについて

Google Chrome oAutoPagerize

Google Chrome 2.0.170から、Greasemonkey(というか、UserScriptsって言うべきか)の実装が変わり、oAutoPagerizeが動かなくなっていたので修正しました。本体、SITEINFO(必要であればSettingsも)全て更新の必要があります。
oAutoPagerize - 0xFF


以下、中の話。
今までは各スクリプトがグローバルスコープで実行されていましたが、2.0.107から各Scriptごとにスコープが作られるようになって、FirefoxGreasemonkeyの実装に近くなりました。
Firefox版でいうunsafeWindowとして、contentWindow というグローバルオブジェクトが用意されています。(例えば、ページがjQueryを使っていた場合、 window.jQuery は undefined で、代わりに contentWindow.jQuery で参照できます)(あえて、unsafeという名前にしなていないようなので、安全なんだろうと思います。)

ただ、ひとつ問題があって、Firefox版ではwindowは各Scriptで共有されていてるのですが、Google Chromeではwindowも独立しています。例えばあるScriptがAutoPagerizeと連携したい場合は window.AutoPagerize経由でやり取りすることができるのですが、これができません。

なので、oAutoPagerize では contenWindow 経由で Script同士の値の共有をするように修正しました。
このあたり、また実装が変わりそうなので、気がついたら適宜対応していきます。

いつの間にか、windowは共有されるようになったみたいです。