jQuery移动刷新按钮

时间:2011-05-26 11:38:36

标签: jquery ajax jquery-mobile

我在向数据库添加新内容时没有更新页面时遇到问题。所以我想添加一个刷新按钮。

希望我能这样做吗?

2 个答案:

答案 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,我们强制从服务器刷新,而不仅仅是从缓存中重新加载页面。