我不知道该怎么解释,我只是告诉你,我想做
我有一个JavaScript函数,可向div添加新内容
function stopUpload(success) {
document.getElementById("load-content").innerHTML = success + document.getElementById("load-content").innerHTML;
}
但是,成功中包含JavaScript函数:
success = '
//more html
<script type=\"text/javascript\">
$(\"body\").share({
onClickId: \"share-default-29\",
owner: \"brfieger\",
description: \"asdasdasdasd\",
image: \"\",
pid: \"29\",
type: \"status\"
});
</script>
//more html
';
我收到一个错误,因为它正在识别
</script>
并终止脚本
Uncaught SyntaxError: Unexpected token ILLEGAL
如果很重要,我会像这样调用stopUpload:
<script type="text/javascript">
window.top.window.stopUpload('//success content above');
</script>
我不知道如何解决此问题,我假设脚本被封装在字符串中,并且在被评估之前不会被识别,但是它是
另外,为了提高可读性,我添加了新行。在代码中,所有新行都转换为\ n
最佳答案
如果使用'</script>'
,则脚本将终止。然后,您可以使用'</scr'+'ipt>'
。
Demo
注意:上面的代码避免了错误,但是不执行脚本。
如果要执行它,则应使用DOM方法:
var s = document.createElement('script');
s.text = "alert('a')";
document.body.appendChild(s);
Demo