document.write 动态加载 script 脚本时,特殊异常

时间:2023-03-08 20:19:27

项目中有个JS,需要动态引入。

写法如下:

<script>
document.write('<script src="http://www.z4.com/js/xxxx.js?r=' + Math.random() + '"></script>');
</script>

发现一直有错误。

原因是字符串中的</script>与<script>竟然匹配了,导致后面的 ');</script> 成为了HTML文本。

解决方法很简单,将</script>分割开就好了。

<script>
document.write('<script src="http://www.z4.com/js/xxxx.js?r=' + Math.random() + '"></scri' + 'pt>');
</script>

注意以后在<script></script>中的字符串中使用到</script>,都需要分割处理。否则还会出现此BUG!