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