jquery mobile JS与缓存的问题
我的页面列表显示一些文章,点击更多时通过JS在下面再加一些内容,然后点击其它页面,再点击回来,那个更多按钮就不起作用了,在页面中设置data-ajax="false"这个...
我的页面列表显示一些文章,点击更多时通过JS在下面再加一些内容,然后点击其它页面,再点击回来,那个更多按钮就不起作用了,在页面中设置data-ajax="false"这个,就可以了,但每次都得重新加载页面,有没有办法解决下,能让那个页面执行JS又能缓存(点击更多出现的内容也能够缓存)
function mores(more,list_ul,php_url,id){
/* $(more).css({height:"30px","line-height":"30px","text-align":"center",display:"block",margin:"auto","background-color":"#eee"});
$(more+" span").css({width:"50px",height:"30px",display:"block",float:"left"});
$(more+" .more-b").css({ width:"100px", margin:"auto"});*/
$(more).on("tap",function(){
n=$(list_ul+' li').size();
$.ajax({
type: "post",
url: php_url,
data:"num="+n+"&id="+id,
beforeSend:beforecall,
success:callback
}); 展开
function mores(more,list_ul,php_url,id){
/* $(more).css({height:"30px","line-height":"30px","text-align":"center",display:"block",margin:"auto","background-color":"#eee"});
$(more+" span").css({width:"50px",height:"30px",display:"block",float:"left"});
$(more+" .more-b").css({ width:"100px", margin:"auto"});*/
$(more).on("tap",function(){
n=$(list_ul+' li').size();
$.ajax({
type: "post",
url: php_url,
data:"num="+n+"&id="+id,
beforeSend:beforecall,
success:callback
}); 展开
展开全部
先说明两点:
1、jquery mobile默认跳转都是用ajax的方法,这样的做法导致的直接影响就是页面js只能加载一次,用data-ajax后可以使当前页面摆脱ajax,而页面加载默认就是重新加载了。
2、jquery mobile默认在页面刷新或者跳转后,会自动移除缓存
然后说说你的问题,在jquery mobile中倒是有个能够控制缓存的属性:
如果想要的话,你可以使jQuery Mobile在dom中保存之前访问过的页面而不是移除他们。这样用户在回到这个页面的时候就可以迅速加载。
要让所有曾经访问过的pages都缓存,设置domcache选项为true,
HTML 代码:
$.mobile.page.prototype.options.domCache = true;
或者你可以缓存特定的某个页面,给page容器添加如下属性
<div data-role="page" id="cacheMe" data-dom-cache="true">
当然这个是jquery mobile的处理缓存的方法,不知道能不能解决,如果不能解决说下,我再告诉你其他方法
不明白请追问,如果对你有帮助,记得采纳~
1、jquery mobile默认跳转都是用ajax的方法,这样的做法导致的直接影响就是页面js只能加载一次,用data-ajax后可以使当前页面摆脱ajax,而页面加载默认就是重新加载了。
2、jquery mobile默认在页面刷新或者跳转后,会自动移除缓存
然后说说你的问题,在jquery mobile中倒是有个能够控制缓存的属性:
如果想要的话,你可以使jQuery Mobile在dom中保存之前访问过的页面而不是移除他们。这样用户在回到这个页面的时候就可以迅速加载。
要让所有曾经访问过的pages都缓存,设置domcache选项为true,
HTML 代码:
$.mobile.page.prototype.options.domCache = true;
或者你可以缓存特定的某个页面,给page容器添加如下属性
<div data-role="page" id="cacheMe" data-dom-cache="true">
当然这个是jquery mobile的处理缓存的方法,不知道能不能解决,如果不能解决说下,我再告诉你其他方法
不明白请追问,如果对你有帮助,记得采纳~
更多追问追答
追问
data-ajax="false",加入这个之后,在加这个ata-dom-cache="true",好像不起作用了
http://m.hsyc120.com/yczl/kfal/
这是我的网站,我就是想点击下面的更多,能够了缓存,点击其他连接之后回来,刚才点击更多新加的内容还在,要不然这样感觉很慢
追答
你的网站“更多”就是“已到底”,你要缓存什么我看不出来。
你把需要缓存的内容截图下,然后把对应部分的前台页面代码给出来,我帮你看看吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询