javascript 文本解释为脚本

标签 javascript html browser

我不明白浏览器返回给我的错误 我将一些简单的文本放入变量中 但实际上,这是解释为脚本?

错误:

未捕获的语法错误:无效或意外的标记:第 10 行

<!DOCTYPE html>
<html lang="en"> 
<head>
<meta charset="utf-8"/>

<body>
</body>
<script>

var text = '<script> Hello </script>' ;

//console.log ( text ); 

</script>
</html>

类似问题: javascript string interpreted as object

最佳答案

当浏览器解析它时,它会看到 <script>并盲目地构建文本,直到它看到序列 </script> ,然后将其作为脚本的结尾。在您的情况下,它位于字符串的中间。

为避免这种情况,请在 / 之前的字符串中添加一个反斜杠:

var text = '<script> Hello <\/script>' ;

该反斜杠在 JavaScript 中无效(转义的 / 仍然是 / ),但浏览器不会将其视为脚本的结尾。

或者你可以分解它:

var text = '<script> Hello <' + '/script>' ;

基本上任何浏览器都看不到的</script>在脚本实际结束之前。

关于javascript 文本解释为脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42455783/

相关文章:

javascript - 防止窗口在ios5移动浏览器中拖动

javascript - jQuery SlideOut 函数从右到左

javascript - 使用 document.write 将文本写入 div

javascript - 检测 IE 的 Metro UI 版本

javascript - 引用错误: ko is not defined when loading from jQuery

javascript - 使用 javascript 从数据库显示

javascript - 使用 jquery 和 html5 在单击时更改背景图像

flash - 是否可以通过Flash/js/silverlight在浏览器中捕获音频流?

html - 在本地和网络上都有效的 HTML 站点中的根目录相关链接

javascript - JQuery 在 <a> 标签内点击不工作