2012-02-09 7 views
1

拡張機能のポップアップを(実行時に)動的に変更したいと思います。私のサーバーからロードされたカスタムポップアップHTMLファイルを指定したい。chrome.browserAction.setPopup() - ローカルHTMLファイルのみ?

Firefoxでは、これを実行時に指定できるXUL overlaysで簡単に実行できます。 document.loadOverlay()は、オーバーレイの「リモート」URLをと指定することを許可しています。

Chromeでも同じですか?

私はchrome.browserAction.setPopup(details) APIでプレーしてきたが、details.popupparamは、リモートURLローカルファイルを指定し、してはならないようです。

答えて

2

私はこの全く同じ質問をChromium-Extensionsメーリングリストで回答しました。

外部ポップアップを読み込むAPIはありませんが、プレーンJavaScriptで行うことができます。あなたができること(これまで私はこれまで行っていました):

  • ポップアップ内でiframe + extensionメッセージを使用します。 iframe は、拡張機能でホストされていない外部URLを示します。
  • テンプレート(jQueryテンプレートの例)を使用し、それらのテンプレートファイルを の背景ページに読み込み、それらを使用してポップアップを作成します。
  • XHRを使用してHTMLコンテンツをダウンロードし、DOMを構築することによってポップアップ の中にそれらをロードします。

私は通常、テンプレートアプローチを使用しますが、サーバーサイドでポップアップ全体を管理したい場合は、ポップアップiframeアプローチを使用して、拡張ギャラリーに更新をプッシュする必要はありません。私はHTMLコンテンツをダウンロードするファンではなく、テンプレートはより安全に見えます。

これが役に立った!

+0

上記の投稿と一緒にメーリングリストアーカイブへのリンクを追加できますか? –

+1

@Tobo、私はポストを更新し、上記の記事へのリンクを追加しました。 –