除了允许您在写入document.write('<scr' + 'ipt src=
时将js变量插入到脚本标记中,这与普通<script src=>
标记的优缺点是什么?
我主要询问速度,但对整个故事感兴趣。
由于 丹尼斯
答案 0 :(得分:9)
不需要'<scr'+'ipt'
。
需要'<\/scr'+'ipt>'
。因为HTML解释器不需要理解Javascript,所以它会将<script>...</script>
之间的所有内容视为文本,并且不关心var a='</script>';
是字符串文字Javascript,它会将其视为{的结束标记{1}}并将脚本文本的其余部分视为普通(错误)HTML。
编辑:根据大卫的建议更正
答案 1 :(得分:2)
我认为这是为了获得非阻塞的javascript加载。
为此,我建议查看有关该主题的Steve Souders帖子。 http://www.stevesouders.com/blog/2009/04/27/loading-scripts-without-blocking/
LABjs库以非常漂亮的方式解决了这个问题。 http://labjs.com/
此外,似乎较新的浏览器默认开始加载并行的东西 http://www.stevesouders.com/blog/2010/02/07/browser-script-loading-roundup/
答案 2 :(得分:0)
除了那些?没有。
(顺便说一句,将JS字符串中的脚本标记拆分为一对连接字符串是毫无意义的膨胀)