2010-11-13 35 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在頁面的底部。

相關問題