The My Opera forums have been replaced with forums.opera.com. Please head over there to discuss Opera's products and features

See the new Forums

Extensions のプライベートタブでの widget.preferences の扱いについて

Forums » Web 全般 » その他 Web 開発者向けの話題

You need to be logged in to post in the forums. If you do not have an account, please sign up first.

Go to last post

4. October 2011, 09:38:36

usopion

うそぴょん/ε∂.∂з\

Posts: 503

Extensions のプライベートタブでの widget.preferences の扱いについて

現在、 Opera Extension では Injected Script から、
widget.preferences オブジェクトにアクセスでき、
opera.extension.postMessage 等を駆使しなくても設定情報を直接取得できるようになっていますが、
プライベートタブでは、同じエクステンションでも
widget.preferences を使うと、エラーには成らないものの、
実際に設定情報を取得したり、保存したりする事が出来ません。
これはプライベートタブであるための制限でしょうか。それともバグでしょうか。
制限であるとすれば、プライベートタブでも動作する事を想定した場合は、
Injected Script では widget.preferences を使用しない方が良いと言う事でしょうか。

そもそも Injected Script から widget.preferences が動く事が仕様外って事はないですよね?
USOperaION/ε∂.∂з\
Opera の UI はこれで編集
わたしはここにいます

6. October 2011, 02:15:18

Opera Software

tagawa

Posts: 143

Usopionさん、こんにちは。ダニエルです。

エクステンションがプライベートタブで動作できるために、ユーザはそれを有効にする必要があります:

エクステンション→拡張機能の管理→各エクステンションの設定ボタン→プライバシー→プライベートタブで有効にする

これを設定すればwidget.preferencesが動くはずですが、それでもうまくいかないでしょうか。

6. October 2011, 16:11:10

usopion

うそぴょん/ε∂.∂з\

Posts: 503

どうやら、プライベートタブからアクセスできる
widget.preferences のデータは、プライベート空間のデータとなって、
本来のエクステンションのバックグラウンドプロセスで生成される widget.preferences とは別のデータとなるようです。
このデータは、ブラウザ起動中のプライベートタブ内の Injected Script からは共有されるようです。
プライベートタブなので、データが保持されないという他のストレージと同様の処置かも知れませんが、 widget.preferences は、タブ側のストレージではなく、エクステンション側のストレージなので、この処置が正しいものかどうか疑問があります。
USOperaION/ε∂.∂з\
Opera の UI はこれで編集
わたしはここにいます

7. October 2011, 02:04:14

Opera Software

tagawa

Posts: 143

あぁ、なるほど。
エクステンションをプライベートタブで有効にしても widget.preferences が動かないということですね。
確かに、今 LinkRedirector を使ってみれば確認できました。
私にもバグに見え、報告しました。

お知らせ、ありがとうございます。

7. October 2011, 03:04:46

usopion

うそぴょん/ε∂.∂з\

Posts: 503

ありがとうございます。
ただ、現在の挙動は、データ取得時は postMessage 等行い、
保存は widget.preferenses.setItem で行うという様な作り方をすると、
プライベートタブの痕跡をエクステンション側に残さないという事が出来るので利点もあります。
もし、これがバグと認定されて修正されるなら、現在のタブがプライベートかどうかを知る手段が有ると良いかも知れませんね。

ほかにも、プライベートタブはフォーカスされていても
opera.extensions.tabs.getFouced()
で取得できないと言った制限があるようなので、
プライベートタブでエクステンションを動かす時はこういった制限を考慮して作らないと行けないですね。
USOperaION/ε∂.∂з\
Opera の UI はこれで編集
わたしはここにいます

6. July 2012, 02:11:40

usopion

うそぴょん/ε∂.∂з\

Posts: 503

これらの制限は Opera 12 で解除されたようです。
USOperaION/ε∂.∂з\
Opera の UI はこれで編集
わたしはここにいます

Forums » Web 全般 » その他 Web 開発者向けの話題