2012-04-26 58 views
3

是否有意義儘量使用jQuery中$.getScript();做類似如下:在main.js文件中使用getScript加入以減少負載大小

$("#action-one").click(function() {  
    $.getScript('scripts/action-one.js'); 
}); 

$("#action-two").click(function() {  
    $.getScript('scripts/action-two.js'); 
}); 

會降低你的main.js文件的大小加載時間更快?也意味着代碼只會被加載,如果它被使用,可能會出現問題,如果相同的代碼一遍又一遍裝載雖然..

(我現在不這樣做,但它只是在我腦海中,如果你有非常大的js文件)

+0

那麼,它會減慢網站,因爲用戶必須等待腳本加載。 – 2012-04-26 17:19:20

+0

它會減少加載時間,但會讓您的網站非常慢。 – Ibu 2012-04-26 17:20:15

+0

它可以是一個很好的方式來做到這一點,取決於網站,但通常只是加載它們異步更好。 JS文件通常是緩存的,所以在第一次加載頁面之後,它並不重要。 – adeneo 2012-04-26 17:21:56

回答

4

如果代碼不是立即需要的,那麼在頁面加載時加載這些腳本是非常有意義的。這樣,他們不會以任何方式減慢頁面加載速度,但隨後會在/如果需要時立即可用。

但是,僅根據需求加載它們通常會干擾用戶體驗 - 使觀衆等待腳本加載才能繼續操作,因此大多數網站都認爲僅在需要時加載它們纔是最佳用戶體驗。

當然也有例外。如果腳本很龐大並且很少需要,那麼按需加載可能是有意義的。但通常它們並不大,因此在頁面加載之後異步加載它們是一個更好的主意。

另外,請記住,一旦腳本加載一次,它們通常會從瀏覽器緩存中快速加載。

+0

同意。在初始頁面加載之後加載腳本,但在用戶需要它們之前加載腳本。 – 2012-04-26 17:22:52