文件撰写(”

时间:2010-02-10 11:23:41

标签: javascript

除了允许您在写入document.write('<scr' + 'ipt src=时将js变量插入到脚本标记中,这与普通<script src=>标记的优缺点是什么?

我主要询问速度,但对整个故事感兴趣。

由于 丹尼斯

3 个答案:

答案 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字符串中的脚本标记拆分为一对连接字符串是毫无意义的膨胀)