2010-11-13 52 views
17

由于性能原因,大多数人推荐脚本标签放在页面底部 - jQuery: Move JavaScript to the bottom of the page?脚本应该放在jQuery Mobile页面中以获得最佳性能?

这种做法如何适用于jQuery Mobile网页?

示例我已经看到将jQuery和jQuery Mobile脚本放置在head标签中。其他脚本是否应该放在head标签中?什么是最佳做法?

+1

不错的问题,http请求国王的数量在这里?我看到一些网站在页面中包含了js和css,而不是外部资源。我也认为这取决于设备会有很大的不同,但是在所有平台上都有一些统计数据会很好。 – redsquare 2010-11-13 14:03:09

+0

@詹姆斯牛顿 - 金,最后你怎么办?我之前总是把js放在最下面,但是今天我发现看起来好像把它放到了最下面,加载图标不显示(首先显示非常难看,并且改为jQuery手机风格)。我不知道是因为js位置问题,你能告诉我你最后的选择吗?谢谢 – qakmak 2014-03-21 06:40:02

回答

4

在这里,我认为相同的答案计数为桌面页面。如果JavaScript对页面功能至关重要,则将其放在顶部。如果它是互补的,你把它放在底部。

2

最佳做法是在底部。通常jquery脚本在加载DOM时执行,因此在页面上向下不会影响显示效果,但它对速度有影响,因为它会允许其他元素先前加载。

+1

这与即将推出的html5标准相比如何? – mpapis 2010-12-02 22:35:23

+0

我不是100%确定,但我不认为HTML5的这种变化 – 2010-12-03 07:22:14

3

尽管这可能与性能不如速度有关,但在jquery移动环境中正确添加脚本到页面是非常重要的。普通老$(function(){})会让你大吃一惊。它在某些情况下不起作用。

当单击链接时,jquery mobile使用ajax获取页面,并将其内容添加到当前打开的页面,而忽略了您放入<head>中的所有内容。 [这是JQM 1.0a2的真]

有添加脚本的两种方式,将工作:

  1. 把所有的脚本在一个单一的.js文件,并在所有页面的链接头他们您的应用程序并使用jqm提供的事件(pageshow和pagecreate)。
  2. 将脚本放在主体的底部,不需要DOMready发射。

第二种方式可能更适合大型应用程序的性能,这些应用程序中有许多用户可能不会使用的脚本(不访问某些页面)。 我会推荐第一种方式 - 它更干净,jqm似乎鼓励它。

两者的混合可能是什么是最好的 - 添加pageshow事件处理程序泰德将引发从每个网页加载一些默认功能。

[编辑]

看到限制here在页面的底部。

相关问题