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

まめ畑

ゆるゆると書いていきます

Jetpack 0.5に更新した時の注意メモ

Jetpack javascript

先日、JetpackがVer0.5に更新されました(公式サイトの表記はVer0.4のままですが・・・)
今回の更新で少し注意する事などがあったのでメモ。


まず、今回のバージョンアップによりFeature中で「Components.classes」などが使用できなくなりました。
使用する方法がありましたJetpack0.5でComponents.classesを使用するには - まめ畑を参照して下さい。

Userscript.orgにもComponents.classesを使用したFeatureがいくつかありますが、これらは動作しなくなりました。
ニコニコ動画から動画をDLするJetpack Feature - まめ畑で作成したFeatureも動作しません・・・。
「Components.classes」を使用したFeatureを実行すると

Error Permission denied for <URL> to get property XPCComponents.classes

というエラーが出ます。
これは、Featureが「Components.utils.Sandbox/Components.utils.evalInSandbox」で実行されるようになったため特権アクセスが出来なくなったためです。
XPCOMを直接実行できていたのでセキュリティ的に問題あったものが改善されたようです。
フォーラムなどでも話題になっていた記憶があるのですが、APIを用意してAPI経由でアクセスするようにするのが当初の目的だったと思うので、今後APIが整備されていく段階に入ったのかなと思っています。


次に、JEPの「Selection.js」中でComponents(変数Ci)が参照出来ないためにSelectionを使用したFeatureが実行出来なくなっています。
これは既にフォーラムにも問題が投稿されているので修正待ちです。


3つ目は、「jetpack.tabs.focused.contentWindow.document」がなくなりました。
今後は「jetpack.tabs.focused.contentDocument」を使用すれば問題ありません。


最後に、メニューから「about:jetpack」にアクセス出来るようになり、Safe Modeが追加されました。
Safe Modeでは全てのFeatureが一時的に無効になり、動作が不安定なFeatureを実行してしまった場合にsafemodeでabout:jetpackにアクセスして問題のFeatureを削除します。
また、2秒間に2回連続でabout:jetpackにアクセスすると自動的にSafe Modeに移行します。
ツールメニュー内に「about:jetpack」が追加されています。


Jetpackはまだまだ開発途中なのでバージョンアップで動作・仕様が変わったりAPIリファレンスにのっていないAPIもあります、インストール済みのFeatureが動かない場合はエラーコンソールやFirebugに出ているエラーを確認すれば手がかりになります。