拡張機能ページ内のiframe内にWebサービスからのUIを独自のものとして表示するChrome拡張機能があります。以下を使用して、いくつかのコンテンツスクリプトをリモートUIに挿入しています。
"content_scripts": [
{
"matches" : [ "https://mywebservice.com/frontend/*" ] ,
"js" : [ "frontend-page-contentscript.js" ],
"all_frames" : true
}
]
これは(manifest.jsonでも)次の理由で許可されています:[編集:これは、iframeでコンテンツスクリプトを実行するために必要ではないことがわかりました-しかし、それを削除しても、AJAXは期待どおりに機能しません]。
"sandbox" : {
"pages" : [
"cocoon_page_proxy.html"
]
}
ただし、(コンテンツスクリプトからではなく、iframeから)簡単なajax呼び出しを行うと:
$.get('asdf',function success(data) { console.log("Success"); },
function error(xhr) { console.log("Error: "+xhr.responseText); });
応答がありません。ストールしてステータスが「0」になります。これは(私の経験では)通常、クロスオリジンパーミッションの問題が原因ですが、そうではないはずです-メインページが由来する同じサーバーから別のリソースを要求しています。
提案?