此:解釋數組中的字符串「</script>」,是否有解決方法?
<script type="text/javascript">
var a = new Array("</script>");
alert(a);
</script>
...沒有按照預期(至少我)的工作。字符串"</script>"
被解釋爲腳本的結尾,即使它在引號中。請參閱這些jsfiddles:
第一聲明瞭陣列的第一元件以正常的方式,而第二聲明它在一個緊湊的形式。在這兩種情況下,瀏覽器(Chrome,FF,IE)都會停止腳本"</script>"
,並且永遠不會收到警報。
無論是使用引號還是雙引號,它的表現方式都是相同的。
是否預計?有沒有解決方法?
編輯:謝謝大家,我會逃避反斜槓。對不起,我無法接受每個人的回答,我接受了第一個,但感謝大家。
由Juhana提供的鏈接解釋這一行爲:
元素中的文本節點傳遞給JS引擎之前所有的HTML解析,
</script>
就沒有得到特殊待遇,作爲一個JS字符串字面內