2017-08-16 226 views
0

我對jquery非常有經驗,但jquery mobile對我來說是非常新穎的。我正在開發一個使用cordova和jquery mobile的應用程序。jQuery Mobile通過Ajax加載內容在頁面顯示之前

所以我有一個多頁面設置在HTML中,導航欄切換頁面。所有的作品都很棒,但是,當頁面改變時,我需要通過ajax加載頁面內容。

我正在設法通過發佈請求到生成內容的外部Web服務器,然後通過應用程序將其緩存在本地數據庫中。我目前正在用「pagebeforeshow」事件來做這件事。

問題是,當用戶點擊菜單項時,jquery mobile已經在「pagebeforeshow」中的ajax調用之前切換了頁面,這意味着在請求內容時我們看到空白頁面延遲。

所以我的問題是:有沒有辦法既防止在菜單中點擊自動切換頁面jQuery Mobile的,這樣我可以趕上的情況下,抓住內容,然後用changePage手動顯示頁面()或有在轉換髮生之前,我可以很好地把這個事件掛鉤到那些火災中?

這樣的想法是,他們點擊菜單項,全屏顯示裝載機(工作),加載內容,然後顯示在頁面上,無法顯示該頁面,然後加載內容....

製作感?

+0

你讀過[jQuery Mobile「Page」事件 - 什麼,爲什麼,在哪裏,何時以及如何?](https://jqmtricks.wordpress.com/2014/03/26/jquery-mobile-page-events /)和[pagecontainerbeforechange - 如何使用它](https://jqmtricks.wordpress.com/2014/07/13/pagecontainerbeforechange/)? – deblocker

回答

0

我會這樣做的方式是不使用pagebeforeshow而是讓頁面首先被啓動畫面覆蓋。

然後當加載並顯示啓動畫面(圖像onLoad或類似)時,啓動一次完成的AJAX調用,淡出啓動畫面並顯示實際內容。

+0

我其實最終確實走了這條路線,謝謝你的回答。 –

相關問題