<script type='text/javascript'>
function cool()
{
var innerHtml = "<script></script>";//simply for demostration
$("body").append(innerHtml);
}
</script>
Run Code Online (Sandbox Code Playgroud)
以上将混淆浏览器,甚至在调用cool函数之前无法正确呈现.为什么?
</script> 将结束脚本元素,因此您的脚本将终止于字符串文字的中间.
浏览器不会"混淆",HTML是完全错误的(并且无效......除了在XHTML中......但只有在使用application/xhtml + xml时才会计算...然后你得到一组不同的问题),这会导致JavaScript错了.
当您使用内联JS时</,<\/按照JS字符串表示序列(根据HTML 4.01建议书的第18.2.4节中的示例).