mar*_*tin 10
您遇到的问题与jQuery Mobile如何缓存页面有关.并且location.reload(true)
不起作用,因为URL将具有哈希字符串.
为了模拟本机移动转换,jQuery Mobile执行Ajax请求并将<div data-role="page">
元素插入到第一页中,实际上是从多页面创建一个页面站点(导航,内置书签).
然而,该团队对如何处理依赖时间的内容缺乏远见.我个人已经通过在我的链接中添加一个属性来修复此问题,我希望获得一个新的副本.
$('body').delegate('a[data-cache=false]', 'click', function() {
var $this = $(this);
$('[data-url="' + $this.attr('href') + '"]' ).remove();
});
Run Code Online (Sandbox Code Playgroud)
这会侦听单击事件(点击,无论如何),删除缓存的div并让jQuery请求一个新的副本.
有这样一个解决方案data-ajax="false"
,rel="extenal"
但这些将阻止导航系统功能完全发挥作用.此外,jQuery团队已经意识到与此相关的问题,目前正在进行全面的导航重写.http://jquerymobile.com/blog/2011/05/13/jquery-mobile-team-update-week-of-may-9th/.
您不需要 jQuery 来刷新页面。你只需要打电话location.reload(true)
。
通过将第一个(也是唯一的)参数设置为,true
我们强制从服务器刷新,而不仅仅是从缓存中重新加载页面。