0

重複の可能性:
document.write()で書き込むときに<script>タグを分割するのはなぜですか?

Chromiumソース(45行目以降を参照)を参照すると、次のことがわかりました。

in_script_tag: function(code) {
  return "<script>" + code + "</scr" + "ipt>";
},

"</scr" + "ipt>"著者が選んだ理由を誰かが知ってい"</script>"ますか?

4

2 に答える 2

8

<script>タグの内側は</script>、それがどこで発生しても、それを終了します。

例:

<script>
alert('</script>');
// anything here will not be executed anymore
</script>

これは、ブラウザがJavaScript文字列などについて何も知らないため、ブラウザがそれを見る</script>と常に<script>タグを閉じるためです。

于 2012-06-17T10:47:39.360 に答える
1

HTMLパーサーはを認識するたびに</script、javascriptフラグメントが終了したと自動的に見なします。)。

于 2012-06-17T10:48:16.077 に答える