我不明白浏览器返回给我的错误 我将一些简单的文本放入变量中 但实际上,这是解释为脚本?
错误:
未捕获的语法错误:无效或意外的标记:第 10 行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<body>
</body>
<script>
var text = '<script> Hello </script>' ;
//console.log ( text );
</script>
</html>
最佳答案
当浏览器解析它时,它会看到 <script>
并盲目地构建文本,直到它看到序列 </script>
,然后将其作为脚本的结尾。在您的情况下,它位于字符串的中间。
为避免这种情况,请在 /
之前的字符串中添加一个反斜杠:
var text = '<script> Hello <\/script>' ;
该反斜杠在 JavaScript 中无效(转义的 /
仍然是 /
),但浏览器不会将其视为脚本的结尾。
或者你可以分解它:
var text = '<script> Hello <' + '/script>' ;
基本上任何浏览器都看不到的</script>
在脚本实际结束之前。
关于javascript 文本解释为脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42455783/