开发者社区 问答 正文

控制台报错 Uncaught SyntaxError: Unexpected token ILLEGAL 囧啊

控制台报错 Uncaught SyntaxError: Unexpected token ILLEGAL 囧啊
不知道是不是单引号双引号的问题,转义字符试了也不行。。。不知道有没有加错。。。

<script type="text/javascript" > 

document.write( "<script type='text/javascript' src='/js/test-index.js?v= "+Math.random()+"'></script>" ); 

</script>

不知道是哪里出错了,求解答。感谢~

展开
收起
杨冬芳 2016-06-21 18:00:35 4271 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • IT从业
    <script>找到了你字符串中的"</script>"做了闭合,把最后的写成这样"<\/script>"
    
    document.write( "<script type='text/javascript' src='/js/test-index.js?v= "+Math.random()+"'><\/script>" ); 
    

    或者这样:

    document.write( "<script type='text/javascript' src='/js/test-index.js?v= "+Math.random()+"'></scr" + "ipt>" ); 
    

    补充:

    浏览器在执行嵌入脚本时,碰到script标签,先做的事情是提取里面的脚本(比如用正则),提取的时候就是找最近能闭合的结束标签,即从开始标签起往后找到第一个能匹配上(等于)的字符串。这个阶段你写的脚本没有执行,只是被浏览器当做字符串在查找,结果就找到了write参数里面的。所以我们要做的就是不出现这个字符串就好了

    2019-07-17 19:45:10 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答分类:
问答地址: