HTML將其解析為:
<script type="text/javascript">
alert("hello
</script>
");
</script>
首次出現</script>
關閉打開的<script>
元素。 避免此問題的常見方法是在字符串的/
字符之前包含一個\\
:
<script type="text/javascript">
alert("hello <\/script>");
</script>
之所以起作用,是因為\\
轉義字符將阻止瀏覽器將<\\/script>
識別為結束標記。 通常, \\
用作JavaScript字符串中的轉義序列,但是由於沒有\\/
序列,轉義字符將被忽略,並且字符串的值為'</script'>
。
如果您遵循將所有JavaScript保留在外部.js
文件中的良好做法,通常可以避免此問題。 也就是說,常見的是,這種轉義用於無響應CDN的本地腳本回退 。