我有以下帶有 JavaScript 標簽的文本檔案:
<script>
...
</script>
<script>
...
</script>
<script>
...
</script>
當我像這樣決議它時:
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(`<root>${data}</root>`, "text/xml");
const tags = xmlDoc.getElementsByTagName("script");
我收到一個錯誤,因為 JS 程式代碼中有 < 和 > 符號,比如
for (let i = 0; i < tags.length; i ) {
我不想用 < 替換 < > > 因為這些也存在于代碼中的字串中。
是否可以禁用腳本標簽內的決議代碼?
uj5u.com熱心網友回復:
為了決議 HTML,我們使用 mime 型別 text/html
const htmlDoc = parser.parseFromString(data, "text/html");
const tags = htmlDoc.getElementsByTagName("script");
uj5u.com熱心網友回復:
嘗試將 JS 代碼封裝在CDATA 部分中 ,使其看起來像:
<script>
<![CDATA[
for (let i = 0; i < tags.length; i ) {....
]]>
</script>
這些注釋告訴 xml 決議器將其中的內容僅視為字符資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/393488.html
標籤:javascript 解析器
