17

出于性能原因,大多数人建议将脚本标签放置在页面底部 - jQuery:将 JavaScript 移动到页面底部?

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

我见过的示例将 jQuery 和 jQuery Mobile 脚本放在 head 标记中。其他脚本也应该放在 head 标签中吗?什么是最佳实践?

4

3 回答 3

4

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

于 2010-11-29T13:47:01.623 回答
3

虽然这可能与速度无关,但在 jquery 移动上下文中正确地将脚本添加到页面很重要。简单的旧$(function(){})会让你大吃一惊。在某些情况下它不起作用。

单击链接时,jquery mobile 会使用 ajax 获取页面并将其内容添加到当前打开的页面中,而忽略您在<head>. [从 jqm 1.0a2 开始是这样]

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

  1. 将所有脚本放在一个 .js 文件中,并将它们链接到应用程序所有页面的头部,并使用 jqm 提供的事件(pageshow 和 pagecreate 事件)。
  2. 将脚本放在正文的底部,并且不需要 DOMready 来触发。

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

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

[编辑]

请参阅页面底部的限制

于 2010-12-14T10:12:33.237 回答
2

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

于 2010-11-29T13:57:19.370 回答