これを含む html という名前の文字列があるとします。
<script>
document.write("Some random stuff here");
</script>
<script src="someremotejsfile"></script>
これをiframeウィンドウ内に動的に表示したい。
私の元の解決策は次のことでした:
document.open();
document.write(html);
document.close();
しかし、これはコンテンツがすでにロードされているにもかかわらず、スピナーが永久にロードされているかのように回転し続けるFirefoxで問題を引き起こします。私の次の試みは:
document.body.innerHTML = html;
これにより、スクリプトが本体に追加されますが、実際には実行されません。だから最後に私は試しました:
div = document.createElement("div");
div.innerHTML = html;
document.body.appendChild(div);
しかし、これも html 文字列内のスクリプトを実行していないようです。
私の質問は、html の文字列が与えられた場合、それをページに動的に追加するにはどうすればよいですか? たとえば、任意の数のスクリプトやその他の html 要素を含む広告タグにすることができます。そのhtml文字列に何が含まれているかを制御することはできません。私にとってはブラックボックスです。html の長い文字列を取得して、ウィンドウ (この場合は iframe) にロードできるようにする必要があります。