2013-03-11 67 views
1

我有一個jsp頁面上有單獨的模塊或小部件。爲了提高頁面的整體加載時間,我正在考慮並行讀取這些獨立模塊。 我有2種策略:jsp包括vs jquery ajax

1:JQUERY AJAX

function getSimilars(){ 
    $('#similars').load('getSimilars.jsp'); 
} 
function getActivity(){ 
    $('#activity').load('getActivity.jsp'); 
} 

$(document).ready(function(){ 
    var funcList = ['getSimilars','getActivity']; 
     $.each(funcList, function(i,v){ 
      window[v](); 
    }) 
}); 

2:靜態包含

<div id="similars"> 
    <%@include file="getSimilars.jsp" %> 
</div> 
<div id="activity"> 
    <%@include file="getActivity.jsp" %> 
</div> 

我知道,從瀏覽器運行而在編譯期間運行。但是,其中哪些會使我的網頁加載速度更快?

編輯: 雖然jquery的方法運行在平行兩個功能,我認爲第二方法使得那些2 include的run 串聯。我對嗎 ?

+1

衡量和比較。這是肯定知道的唯一方法。 – 2013-03-11 17:32:38

+0

我明白了。但是有沒有什麼最好的做法明智地把一個放在另一個之上? – soundswaste 2013-03-11 17:36:50

+0

第一個顯然會更快地觸發dom就緒事件,因爲它稍後會檢索內容。不管它是否快速出現都是一個完全不同的問題,並取決於這些內容與網頁的其他部分相關。 – 2013-03-11 17:41:11

回答

2

選項1> 加載通過AJAX頁面會使加載局部頁面加載速度較快,但2個網頁的其餘部分加載時間將尋呼呼叫期間改變每次和那些將取決於網絡帶寬。

選項2> 我們知道,從Java EE規範,所有的JSP頁面編譯首次作爲servlet然後纔不需要進一步的編輯和生成的.class文件中的所有以後調用的頁面直接執行。

所以在這裏不會有任何進一步的時間依賴關係頁面加載。

現在,如果應用程序需要整個頁面的同時,應選擇選項2

凡爲

如果與延遲加載的應用體驗頁面加載可用於更好的用戶體驗,則選項1應選擇。

+0

謝謝Piyas,這很有道理。我更喜歡Jquery方式,因爲這兩個小部件是獨立的,可以稍後加載。但是你的選擇1和2混合在你的答案中。請改正。 – soundswaste 2013-03-11 19:10:55

+0

我編輯了我的答案。感謝您指出@soundwaste – 2013-03-11 19:24:10