jquery移动页面缓存有什么问题?

时间:2011-12-11 17:29:20

标签: javascript caching jquery-mobile

我正在使用jQuery Mobile开发移动网站。我知道框架将页面放在缓存中,这样它可以在页面之间进行很好的转换,减少数据传输等等。 但在我的情况下,它很无聊,因为我认为它不会在我的页面中执行一些JavaScript。我会解释一下:

此页面显示带有日期字段的表单。当焦点在该字段上时,我使用mobiscroll来显示日期选择器。

当我提交表单时,如果出现验证错误(我使用codeigniter),服务器会重定向到表单(重新填充字段等),然后日期选择器不再起作用。如果我从JS控制台启动它,它会再次工作,这样我就会认为在返回表单页面时没有重新执行JS代码。

我添加data-ajax="false"作为表单的属性以使其工作(我失去了漂亮的过渡,但我并不在乎)。这是最好的解决方案吗?

然后我寻找另一种方法来明确地做到这一点,因为缓存机制在其他页面中产生问题。所以我找到了:

$(document).live("mobileinit", function() {
    $.mobile.ajaxLinksEnabled = false;
});

这应该完全停用缓存,但事实并非如此。我试图删除一些data-ajax="false"然后我遇到了和以前一样的问题。

那么页面缓存机制的问题是什么?为什么$.mobile.ajaxLinksEnabled = false;不起作用?

谢谢!

1 个答案:

答案 0 :(得分:1)

我可以得到

$.mobile.ajaxLinksEnabled = false; 

工作和我的问题最好做

$.mobile.ajaxEnabled = false; 

我没有按正确的顺序加载.js文件。 (参见mobileinit事件http://jquerymobile.com/demos/1.0/docs/api/globalconfig.html

但是我仍然想知道为什么我的脚本在每次加载页面后都没有被执行(或者是ajax导航系统的任何内容)。

相关问题