我正在與jQuery Mobile合作開發移動網站。我知道該框架將頁面放入緩存中,以便它可以在頁面之間進行良好的轉換,減少數據傳輸等等。 但在我的情況下,它很無聊,因爲我認爲它不會在我的頁面執行一些JavaScript。我將解釋:jquery移動頁面緩存有什麼問題?
此頁面顯示帶有日期字段的表單。當焦點位於該字段時,我使用mobiscroll使日期選擇器顯示。
當我提交表單時,如果出現驗證錯誤(我使用codeigniter),服務器重定向到表單(重新填充字段等),然後日期選擇器不再工作。如果我從JS控制檯啓動它,它會再次運行,這讓我認爲JS代碼在返回到表單頁面時不會被重新執行。
我添加了data-ajax="false"
作爲窗體的屬性,使其工作(我失去了漂亮的過渡,但我並不在乎)。這是最好的解決方案嗎?
然後,我尋找另一種方式來確定地做到這一點,因爲緩存機制會在其他頁面中出現問題。所以我發現:
$(document).live("mobileinit", function() {
$.mobile.ajaxLinksEnabled = false;
});
這應該是完全停用緩存,但事實並非如此。我試圖刪除一些data-ajax="false"
,然後我遇到了和以前一樣的問題。
那麼頁面緩存機制有什麼問題?爲什麼不$.mobile.ajaxLinksEnabled = false;
工作?
謝謝!
我不確定你在問什麼,但這裏是jQuery Mobile頁面緩存的文檔:http://jquerymobile.com/demos/1.0/docs/pages/page-cache.html – Jasper
是的,我看到但我只是不希望jQuery Mobile緩存或預取頁面。 – Alexis
'$ .mobile.page.prototype.options.domCache = false;'是默認值。 – Jasper