Document.write() 腳本標籤拆分:基本原理
在Web 開發中,遇到使用document.write 編寫的腳本並不罕見() 分割<script>;或/腳本>標籤。這種做法可能會提出一個問題,「為什麼要採用這樣的技術?」</script>
分割的原因:
答案在於HTML 解析器處理< 中的CDATA部分的方式;腳本>元素。雖然 SGML 規定 <script>區塊應在遇到任何結束標記開啟序列(例如,</)時終止,瀏覽器僅識別實際的</script> close-tag 作為腳本區塊的結尾。
拆分的意義:
考慮以下範例:
<script type='text/javascript'> document.write('<scr' + 'ipt type="text/javascript" src="script.js"></sc' + 'ript>'); </script>
在本例中,如果標籤未拆分,閉合標籤序列將被解釋為封閉的<script> 的結尾。區塊,提前終止腳本。拆分標籤可以確保瀏覽器正確解析並執行整個腳本。 </script>
XHTML 和腳本編寫:
在 XHTML 中,對於腳本區塊沒有特殊處理。諸如
替代腳本編寫:
要同時滿足XHTML 和HTML 解析器的需求,請考慮使用以下方法:
<script type="text/javascript"> document.write('\x3Cscript type="text/javascript" src="script.js"></script>'); </script>
透過使用十六進位符號轉義字符,您確保所有解析器都能正確解釋腳本。
以上是為什麼要使用「document.write()」分割``標籤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!