我正在爲移動應用程序使用jQueryMobile。很明顯,我希望UI加載非常快,但應用程序有多個工具,因此我只想在導航到的頁面上加載相關的外部JS庫。對於主應用程序(90%的頁面),我只需要jQueryMobile核心文件(即來自Google AJAX庫和jQueryMobile JS的最新jQuery核心CSS)。然而,對於剩下的10%,我需要啓用地理位置的Google地圖v3(所以Google Gears外部庫)和MarkerClusterer庫(我有> 400個標記,我只在需要時纔打印)。針對jQueryMobile優化代碼:僅在需要時才包含外部JS文件的問題
據我瞭解jQueryMobile是如何工作的(都是通過內部的AJAX請求),當應用程序初始化時,您的必須有具有用於整個應用程序加載的所有庫。這使得我的應用程序確實當用戶第一次請求移動網站(所有核心文件,加上所有的地圖/凝膠定位/標記集羣文件)時很沉重。我想避免這種情況發生,因爲它會嚇跑許多潛在用戶(尤其是當我的用戶中只有一部分用戶希望地理位置好時)。
我已經嘗試在相關頁面末尾(在頁腳div之前)加載Google Maps組件,並且還嘗試將它們放入相關頁面中的<標頭>標記中。但是,這兩個都無法初始化(使用附加到函數的console.log()輸出進行檢查)。
是的,在你問之前,我正在使用「pagecreate」live()函數,並且正在處理正確的div(如果我將與Google Maps相關的所有內容放入根頁頭標記中, )
我覺得這一定是一個很常見的問題:用jQueryMobile選擇性加載頁面組件。我無法通過Google在線查找任何內容 - 大多數jQueryMobile教程都是常見花園「Hello World!」。品種多,所以如果你有什麼可以提供的我全都是耳朵!鏈接到選擇性加載教程也歡迎!
在此先感謝!
可能是您的良好來源:http:// jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-mobile-example.html?utm_source=twitterfeed&utm_medium=twitter – 2011-05-23 18:34:30
非常感謝Phill - 在我寫這篇文章之前,我已經對這些頁面進行了相當廣泛的搜索。除非我錯過了一些東西,否則所有這些頁面都會在每個*頁面上初始化所有必需的庫。 – tatlar 2011-05-23 18:41:13