簡介:
在 document.write() 中將 HTML 標籤拆分為多個部分的做法讓許多開發人員感到困惑。特別是,<script>的分割。標籤對其用途提出了質疑。本文深入探討了這種技術背後的原因,並闡明了所涉及的挑戰和注意事項。 </script>
的挑戰標籤放置:
分割的主要原因是標籤是由SGML 中的一個有趣行為引起的,SGML是HTML 的基礎標記語言。根據 SGML,腳本區塊由任何「結束標記開啟」(ETGO) 序列終止,包括 。但是,此規則在 document.write() 呼叫中造成了問題。
如果 標籤沒有被分割,它會提前結束封閉的 <script></script> 。堵塞。為了防止這種情況,開發人員必須拆分標籤並將 放在
瀏覽器相容性和 XHTML 注意事項:
分割 和 /。標籤也解決了瀏覽器相容性問題。雖然瀏覽器通常將 HTML 解析為 CDATA,將任何 視為結束標記開放分隔符,但它們僅在實際的 上終止腳本區塊。
在 XHTML 中,腳本區塊沒有被特殊處理,所有未轉義的
字元必須使用 & 進行轉義。然而,當瀏覽器將 XHTML 解析為 HTML 時,這可能會導致混亂。拆分 標籤確保與兩種類型的解析器的兼容性。替代方法:
同時分割 ; document.write() 中的標籤是常見的做法,它不是唯一的選擇。一個更優雅的解決方案是對整個 <script> 進行編碼。使用特殊字元的標籤,例如:<pre class="brush:php;toolbar:false">document.write('\x3Cscript type="text/javascript" src="foo.js">\x3C/script>');<p>此方法適用於 HTML 和 XHTML 解析器,且無需拆分標籤。 <🎜></script>以上是為什麼要在 `document.write()` 呼叫中拆分 `` 標籤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!