脚本应该放在jQuery Mobile页面中以获得最佳性能?

时间:2010-11-13 07:42:50

标签: jquery performance jquery-mobile

出于性能原因,大多数人都建议将脚本标记放在页面底部 - jQuery: Move JavaScript to the bottom of the page?

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

我见过的例子在head标签中放置了jQuery和jQuery Mobile脚本。其他脚本也应该放在head标签中吗?什么是最佳做法?

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

虽然这可能与速度无关,但在jquery移动环境中,正确地向页面添加脚本非常重要。普通的旧$(function(){})会让你感到惊讶。在某些情况下它不起作用。

点击链接后,jquery mobile会使用ajax抓取该页面,并将其内容添加到当前打开的页面,忽略您在<head>中放置的所有内容。 [从jqm 1.0a2开始就是这样]

有两种方法可以添加可行的脚本:

  1. 将所有脚本放在一个.js文件中,并将它们链接到应用程序所有页面的头部,并使用jqm提供的事件(pageshow和pagecreate)。
  2. 将脚本放在正文的底部,不需要DOMready来触发。
  3. 第二种方式可能更适合大型应用程序中的性能,其中有许多用户可能不使用的脚本(不访问某些页面)。 我会推荐第一种方式 - 它更清洁,jqm似乎鼓励它。

    两者的混合可能是最好的 - 添加一个pageshow事件处理程序,它会从每个加载的页面触发一些默认函数。

    [编辑]

    请参阅页面底部的限制here

答案 2 :(得分:2)

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