1

これはすべてのブラウザで発生するため、何らかの理由があるはずです。

例:

<html>
<body>
<script>var a="support/";
var aa='<iframe src="http://google.com/' + a + '" />'; 
document.write(aa)</script> 
<script>alert('test')</script>
</body>
</html>

iframe 書き込み (この場合は alert('test')) の後のコードは実行されません。なんで?

4

4 に答える 4

9

ドキュメントに壊れた HTML を書き込んでいるため、iframe タグに > がありません。

于 2010-07-09T22:14:54.307 に答える
8

<script>ドキュメントに書き込んだ HTML が無効であるため、ブラウザーは残りのタグを含むドキュメントの残りの部分を解釈できません。

あなたは書いてい<iframe src="http://google.com/support/ます。追加"></iframe>してOKです。

ただし、よりクリーンなアプローチは、まったく使用document.writeしないことです (iframe を保持するために id="container" を含む HTML 要素があると仮定します)。

var iframe = document.createElement('iframe');
iframe.setAttribute("src", "http://google.com/support/");
document.getElementById("container").appendChild(iframe);
于 2010-07-09T22:38:45.853 に答える
2

引用符と iframe を閉じる必要があります。これは機能します:

<html>
<body>
<script>var a="support/";
var aa='<iframe src="http://google.com/' + a + '" />';
document.write(aa)</script> 
<script>alert('test')</script>
</body>
</html>
于 2010-07-09T22:35:44.397 に答える