Opera 15.00 で Chrome の拡張機能をなんとなくうごかす(自己責任)

とても暫定的なてきとうな技術者的にはけっこうバッドな方法だと自覚しているので対処療法なのでやるかは自己責任。

Opera 15.00 リリース

12.15 から Opera Next だった 15 が今日リリースされました。前から言われていたとおり Chromium ベースのものです。Presto とか Carakan のそれではないです。設定項目もすごく簡略化されて、いまのところツールバーまわりいじれないですね*1UA

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.52 Safari/537.36 OPR/15.0.1147.132

とかなんとか OPR ってのがでてる。Mozzilaなのか Webkit なのか Gecko なのか Chrome なのか Safari なのかよくわからない感じになってますけど、OPR です。opera:config とかは config にリダイレクトされます。

UI まわりやなんやらが変わっているのはおいておいて、とりあえず拡張機能はそのままでは動きません。ChromeSafariOpera それぞれの拡張機能はだいたい似ている感じのはずですけど、manifest とかがちがうっぽいとかあります。12系までは HTML/CSS/JS を詰め込んだ zip ファイルにパッケージして oex という拡張子にしていたはずだけど、今回 Chromium ベースのものなので crx/nex にするっぽいです。

ちなみに 12までの oex は Converting OEX extensions to CRX/NEX - Opera 15+ extensions documentation で変換できるっぽいです。

とりあえずうごかす(保証はない)

Google Chrome でいれた拡張機能はなんとなく動くかもしれません。

  1. Chrome拡張機能の設定から「デベロッパーモード」をチェックし、IDを確認します。
  2. その ID が ~/Library/Application Support/Google/Chrome/Default/Extensions/ とか C:\Users\username\AppData\Local\Google\Chrome\User Data\Default\Extensions とからへんに実体があります。
  3. バージョンを指定してフォルダごとコピーとかして Opera拡張機能設定の「開発者」から「パッケージ化されていない拡張機能を読み込む」でフォルダを選択します
  4. とりあえずはいるようななにかがでます。警告とかきっとでます。

とりあえずいくつかいれてみましたがとりあえず動いたり動かなかったりします。

技術的な話

Welcome! - Opera 15+ extensions documentation によると .nex という拡張子にして Chromium ベースな拡張だけど Opera 用の manifest とかを用意してアップロード、ということになるんでしょうか。Opera 特有としてはスピードダイアルまわりはさわれるようです。スタッシュとディスカバーまわりはどうなるのかな。スタッシュのAPI叩けて Opera Link できたらちょっといいかもしれない。まあただそこはもう Pocket とかでやってる人のほうが多そうだけど、どうなんだろう*2

これからの Opera

どうなるんでしょうか。

個人的には Opera はプロダクトだけじゃなくて音楽パネルやコミュニティや個人的な思い入れがわりとあるのでしばらく応援したいので使うとおもう。そしてこうして15でかわってしまうことで去ってしまう人へのひっかかりがあれば、まあ、うれしいかもしれない。気持ちが去ったら Firefix(Vimperator) にするかもしれないとは前から思っているし、機能なら Chrome でいい、拡張するなら Firefox にすればいいとは前々からずっと思っていた。でも気分として Opera最強伝説(笑)が宗教なのはある。

もうひとつは、いままで UserJS 関係でお世話になった分を形にして返すというのもいいかな、とかは思ってます。揺れてますね。

追記

Opera アドオンとしてそもそも同じようなものがあるんですね……。後から知った
拡張機能「 Download Chrome Extension」 - Opera アドオン

*1:アドレスバーは下にしてURLは完全表示にしたい

*2:マウスジェスチャーにしてもスピードダイアルにしてもブラウザ側で機能をつけてしまうことの意味は少しはわかる