因此,在我的頁面中,我有一些小腳本,一旦您訪問該網站,我實際上並不需要加載這些腳本,實際上用戶在他們的整個會話中可能完全不需要它們。在需要時調用函數
另外,根據這個:http://code.google.com/speed/page-speed/docs/payload.html#DeferLoadingJS它也不是一個好的做法。
因此,例如,目前我有一切「當DOM準備」:
$(function() {
// most of the code of which is not needed
});
如果我不代碼放在裏面的DOM已準備就緒,在大部分的時間它不是可執行文件。所以我想爲每個片段做獨立的功能。
對於〔實施例:
function snippet1() {
// Code here
}
,然後當我需要一個片斷,我需要用的時候點擊鼠標加載它。 (不總是一個鼠標,取決於我需要加載)。
例如:
$('#button1').click(function() {
snippet1();
});
所以我的問題是:這是加載功能,異步,所以你減少網頁加載時間或是否有更好的方式呢?我沒有看過我的例子,我只是想到了它。
請注意,我知道異步加載,但這不是我的選擇,因爲我可以將所有功能合併到一個將被緩存的js文件中,所以頁面加載時間將小於每次加載異步js文件。
嗨,謝謝你的回答。我知道所有的方法來最小化和減少加載時間。剩下的是解析時間。我的所有腳本都是異步加載,縮小,緩存在Akamai的CDN等等上。它只是我沉迷於加載時間和性能的人之一,我只是想盡一切辦法。在所有的網頁加載腳本在線(網頁測試,yslow,谷歌的網頁速度,我得到100/100或完整的A,我不慌張,我只是想解釋說我知道很多東西)。我的實際頁面甚至使用緩存清單。 – jQuerybeast 2012-01-13 14:30:39
我只是想了解是否有更好的做法,我不知道。 – jQuerybeast 2012-01-13 14:30:51
在這種情況下,您唯一的選擇是分割腳本。由於瀏覽器將緩存它們,因此如果僅在2-3分割它們,這不會影響加載時間。事實上,這可能會有所幫助,因爲未來的更改可能只會影響2/3腳本中的一個,所以瀏覽器不必重新加載所有內容。 – 2012-01-13 14:50:02