我正在使用 jQuery Mobile 制作我的网站的移动版本,并且对刷新缓存页面有疑问。我有一个标题栏,并在上面放置了一个登录按钮。如果用户单击按钮并成功登录,我将登录按钮(在服务器端)替换为注销按钮。问题是,如果我按下浏览器后退按钮,登录按钮仍然显示。随后加载的(非缓存)页面正确显示注销按钮。
我假设这是因为当我按下时,页面来自缓存?有没有办法刷新标题栏,以便在缓存页面上也显示注销按钮?我认为我不能只刷新有问题的整个页面,因为我不知道用户在登录之前访问了哪些页面。
我正在使用 jQuery Mobile 制作我的网站的移动版本,并且对刷新缓存页面有疑问。我有一个标题栏,并在上面放置了一个登录按钮。如果用户单击按钮并成功登录,我将登录按钮(在服务器端)替换为注销按钮。问题是,如果我按下浏览器后退按钮,登录按钮仍然显示。随后加载的(非缓存)页面正确显示注销按钮。
我假设这是因为当我按下时,页面来自缓存?有没有办法刷新标题栏,以便在缓存页面上也显示注销按钮?我认为我不能只刷新有问题的整个页面,因为我不知道用户在登录之前访问了哪些页面。
有多种选择:
1)禁用页面缓存(浏览器后退和前进按钮):
$.mobile.hashListeningEnabled = false;
2)创建事件捕获当前页面名称,然后操纵标题:(类似于...):
$("#PageName").live("pagebeforeshow", function (event, data) {
// get current URL
var pageName = $(location).attr("href").split("#")[1];
// manipulate by the page name
if(pageName == XXX){
Header....
}
}