2012-03-23 114 views
0

我在使用rails 3.1 + nginx +獨角獸在512 MB內存和Ubuntu 10.04 64位和Mongodb爲我的項目。推遲使用nginx和獨角獸rails 3.1中的JavaScript解析

我得到了谷歌的PageSpeed一個警報在我的生產服務器,比如你可以在接下來的圖片中看到:

enter image description here

我有預編譯的資產和工作正常。

然後我的問題是:

我怎麼能刪除此警報在我的項目導軌3.1?

謝謝!

+0

這裏有幾種方法。 '首先'您可以使用異步腳本加載來阻止腳本阻止頁面加載。 'Second'您可以簡單地移動頁面加載時您不需要的所有函數,並將它們放在window.onLoad函數或($(document).ready(function(){in jQuery)) – Ohgodwhy 2012-03-23 19:03:49

+0

謝謝,你能寫一個代碼示例嗎?謝謝! – hyperrjas 2012-03-23 19:09:43

回答

0

任何不需要在頁面加載時加載的代碼都可以在使用jQuery或JavaScript之後加載。我會告訴你這兩個

的javascript:

window.onLoad = function(){ //defers js to load on window ready } 

的jQuery:

$(document).ready(function(){ 
    //defers js to load on document ready 

}); 

您可以使用這些方法。

對於異步腳本加載,你可以谷歌它,並得到成千上萬的例子。

+0

謝謝你,它確實對我很好:D – hyperrjas 2012-03-24 13:53:16

1

這可能不值得設置,除非頁面加載分析表明它特別慢。

您應該已經擁有位於頁面底部而不是頭部的JavaScript標記,並且(如另一個答案中所述)任何代碼都應該等待DOM準備就緒塊內的準備就緒。

這將確保頁面將隨CSS一起加載,並且可以在JS下載和運行時開始渲染。

當您有大量附加到用戶交互頁面的功能並且不需要呈現頁面時,推遲分析是最有用的。

更多詳細信息are here

+0

謝謝你的建議:D – hyperrjas 2012-03-24 13:53:24

相關問題