Chrome拡張機能を開発しています。ユーザーに情報を表示するために、IFrameを作成してページのDOMに追加します。iframeが特定の種類のページ(XMLとChromeページ)にそのソースを読み込まない
Iframeには、自分の内線で定義されたテンプレートが含まれています。
- なRSSフィードなどのXMLドキュメント==>私は本当にこのを解決する必要があります:私は、特定のページに私の拡張子を開こうとする場合を除き、
ほとんどのページでは、これとこれまでのところ問題ありません。
- 特定のChromeページ==>この使用例は本当に気にしません。
私が作成し、ユーザーが自分の拡張子を開くには、次の方法ではiframeを管理:
var iframe = document.createElement('iframe');
iframe.id = "my_awesome_iframe";
// Then I specify the source: I ask chrome to look for it.
// I have checked the correct URL is returned. No problem so far here.
iframe.src = chrome.runtime.getURL("templates/page.html');
// Here the problems start:
// with a normal page: No problem
// with an XML document: I have the error: "style is undefined, can't set cssText"
iframe.style.cssText = 'height: 100% !important; width: 100% !important;';
// I can solve this doing the following:
iframe.setAttribute("style", 'height: 100% !important; width: 100% !important;');
// And finally
document.body.appendChild(iframe);
しかし、今、すべてが正しく設定されています。上記のケースのいずれかにいるときはいつも、srcのURLはでロードされていませんです。 DOM内にiframe要素がありますが、それはただ空です。どのようにこの問題を解決するには
document.getElementById("my_awesome_iframe").contentWindow
// As expected, I obtain the following only when the iframe refuses to load.
>> undefined
任意のアイデア:
だけで確認することは、私は次のことを試してみましたか?
ユーザーがXMLフィードなどのRSSフィードを使用しているときに、私の拡張機能を読み込むことができる必要があります。私の延長の要点の一つです。
追加情報:
私の拡張子はまったく同じ実装とのFirefoxと互換性があります。動作は少し異なります。 XML文書がRSSフィードであるときに、何か他のときにmmy拡張子を開くことはできます:それは不可能です。
例リンク:
- RSSフィード:https://www.feedcrunch.io/@dataradar/rss/(FFでのみ動作します)
- XMLドキュメント:http://www.httrack.com/httrack.xml(FFとChromeに失敗)
一部XMLViewer-が存在しなければなりません特定のものですが、私はどこを探すべきかわかりません...
は「http://www.w3.org/1999/( 'IFRAME = document.createElementNSをお試しくださいあなたのCSSはここにある/ *) ' – wOxxOm
@wOxxOm:あなたは岩です!それはうまくいった。私はあなたの幸運を良いものとしてフラグすることはできません。普通の回答としてコピー/貼り付けできますか) ありがとうございます。 –