javascript - 在<script>標(biāo)簽中輸出</script>的疑問
問題描述
問題描述:
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title></head><body> <script> console.log('</script>'); </script></body></html>
無法輸出,報(bào)錯(cuò):Uncaught SyntaxError: Invalid or unexpected token。
這屬于是瀏覽器的BUG嗎?
問題解答
回答1:結(jié)合瀏覽器看起解析,估計(jì)能明白,因?yàn)槟阋猚onsole的是一個(gè)script的結(jié)束標(biāo)簽,瀏覽器在解析html標(biāo)簽的時(shí)候,直接就把它當(dāng)做結(jié)束標(biāo)簽用了,這時(shí)候你會(huì)看到頁面上只顯示了');,余下的本來是真正的結(jié)束標(biāo)簽,被當(dāng)做多余處理掉了。
類似情況還有
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title></head><body> <script> //</script> </script></body></html>
從解析標(biāo)簽的角度來看,瀏覽器:“這鍋我不背”。
如果要正常顯示,可以 加轉(zhuǎn)義
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title></head><body> <script> console.log('</script>'); </script></body></html>回答2:
瀏覽器內(nèi)核的HTML解析器是一種“狀態(tài)機(jī)”的處理方式;html解析原理
回答3:谷歌可以輸出
相關(guān)文章:
1. python - 我在使用pip install -r requirements.txt下載時(shí),為什么部分能下載,部分不能下載2. mysql - 分庫分表、分區(qū)、讀寫分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來哪些效率或者其他方面的好處3. node.js - nodejs開發(fā)中常用的連接mysql的庫4. 網(wǎng)頁爬蟲 - python 爬取網(wǎng)站 并解析非json內(nèi)容5. mysql - jdbc的問題6. python - 編碼問題求助7. 視頻文件不能播放,怎么辦?8. windows7 ping不通虛擬機(jī)VMware上的linux(ubuntu)的ip9. python - 數(shù)據(jù)與循環(huán)次數(shù)對(duì)應(yīng)不上10. mysql - 如何減少使用或者不用LEFT JOIN查詢?
