2014-07-03 78 views
0

我有一個網站,我正在使用JQM轉換成一個應用程序。我已閱讀關於頁面以及DOM如何加載,但我仍然不確定如何構建網站。jQuery手機網站的體系結構很多頁面

該應用程序的主頁面基於使用JS加載的Google Maps API。目前有150多個目標網頁,因此我不希望它們在用戶點擊鏈接之前加載。所有的目標頁面也需要JS初始化。當他們返回到主頁面時,緩存狀態應該是默認狀態,但如果查詢字符串發生更改,我還需要運行JS選項。內容不會經常改變,所以我的選擇是一旦加載緩存數據,但需要某種方式來刷新緩存。

我將該網站轉換爲JQM。目標頁面JS沒有運行,所以我將rel='external'添加到鏈接中。 JS現在運行在目標上,但是當我鏈接回主頁面時,它會重新加載頁面而不運行初始化JS。明顯的解決辦法是增加rel="external",但是我會擊敗所有的性能價值。關於如何構建它的任何建議?

回答

0

使用rel=external您的鏈接將不會加載Ajax,您將失去動畫頁面轉換。如果你想運行一些腳本時,頁面顯示,使用此頁面事件:

$(document).on("pageshow", "#selector", function(event, ui) { /* your code */ }); 

這和其他有用的事件中jQuery Mobile API Documentation描述。 例如,pagecreate(現已棄用的pageinit)在頁面初始化時被調用一次。

關於獲取查詢字符串參數,請參閱this answer