我在这段代码中遇到“unterminated string literal” Javascript错误:
var test = '<script type="text/javascript">var s = document.createElement(\'SCRIPT\');</script></div>';
我在这里做错了什么?我正在逃避单引号,但它似乎没有什么区别。但是,此代码确实有效:
var test = 'var s = document.createElement(\'SCRIPT\');</div>';
有什么区别?我必须在这里遗漏一些东西。
答案 0 :(得分:5)
打破那个脚本标记老派的方式
var test = '<scr'+'ipt type="text/javascript">var s = document.createElement(\'SCRIPT\');</scr'+'ipt></div>';
答案 1 :(得分:0)
它看起来像你正在使用的任何Javascript解析器中的错误。
请使用双引号作为解决方法:
var test = '<script type="text/javascript">var s = document.createElement("SCRIPT");</script></div>';
答案 2 :(得分:0)
如果您的脚本与页面的其余部分内联,则可能需要通知解析器您的Javascript代码不应使用CDATA进行解析。
<script type='text/javascript'>
<![CDATA[
// javascript code goes here, including '<' and '>' characters that could be interpreted as HTML tags
]]>
</script>