返回从JavaScript函数错误调用的JavaScript函数

时间:2014-01-25 22:42:45

标签: javascript

我不知道如何解释这个,我只是告诉你我想要做什么

我有一个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

1 个答案:

答案 0 :(得分:4)

如果您使用'</script>',您的脚本将会终止。然后,您可以使用'</scr'+'ipt>'

Demo


注意:上面的代码可以避免错误,但不会执行脚本。

如果要执行它,则应使用DOM方法:

var s = document.createElement('script');
s.text = "alert('a')";
document.body.appendChild(s);

Demo