バックグラウンドページ内にiframeを動的に挿入して読み込みたいと思います。しかし、毎回リクエストがキャンセルされます。一週間前に働いていたバックグラウンドページのiframeを読み込むことができません(ステータス=キャンセル)
http://i.imgur.com/Puto33c.png
。私はどこが間違っているのか分からない。この問題を再現するために
、私は小さな拡張機能を作成しました:
manifest.js:
{
"name": "iframe background",
"version": "1.0.0",
"manifest_version": 2,
"browser_action": {
"default_title": "iframe"
},
"background": {
"persistent": false,
"scripts": ["background.js"]
}
}
background.js:
chrome.browserAction.onClicked.addListener(function() {
var iframe = document.createElement('iframe');
iframe.src = 'http://localhost:3000/';
iframe.onload = function() {
console.log(iframe.contentDocument); // return null
};
document.body.appendChild(iframe);
});
ページをロードすることですX-Frame-Options SAMEORIGINによってブロックされません。
私は運がないHTMLの背景ページの中に直接iframeを置こうとしました。
私もcontent_security_policyを追加しようとしました:
"content_security_policy": "script-src 'self'; object-src 'self'; frame-src 'self' http://localhost:3000/"
誰かがこの問題の回避策または解決策を持っていますか?
ありがとうございます!
がありますhtを使用する簡単な方法Chrome拡張機能のtps://github.com/zendesk/cross-storage?クロスストレージは暗黙的に '
クロスストレージは、その ''が赤で、ネットワークタブで '(キャンセル)'されているにもかかわらず、箱から出ているようです。 –
traxium
この回答に示されているテンプレートに数行のコードを追加して実装できる機能のライブラリが必要なのはなぜですか?また、私はそれを試していないので、そのlibを使用する方法はありません。 – wOxxOm