博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

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

Posted on 2015-09-08 09:02  PHP-张工  阅读(1811)  评论(0编辑  收藏  举报

项目中有个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!