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. spring-mvc - spring-session-redis HttpSessionListener失效2. android - NavigationView 的側(cè)滑菜單中如何保存新增項(xiàng)(通過程序添加)3. python文檔怎么查看?4. javascript - 請(qǐng)問一下vue當(dāng)中是在什么時(shí)候請(qǐng)求數(shù)據(jù)保存全局變量的?5. php7.3.4中怎么開啟pdo驅(qū)動(dòng)6. 除了 python2 和 python3,ipython notebook 還可以用哪些內(nèi)核?7. 老師 我是一個(gè)沒有學(xué)過php語言的準(zhǔn)畢業(yè)生 我希望您能幫我一下8. 提示語法錯(cuò)誤語法錯(cuò)誤: unexpected ’abstract’ (T_ABSTRACT)9. 這段代碼既不提示錯(cuò)誤也看不到結(jié)果,請(qǐng)老師明示錯(cuò)在哪里,謝謝!10. tp5 不同控制器中的變量調(diào)用問題
