我正在编写一个需要用户身份验证的jQuery Mobile应用程序。同一个用户无法从多个位置打开她的会话:如果用户从另一个浏览器登录,则前一个会话被标记为已死。
如果用户尝试使用带有死会话的浏览器移动到另一个页面,则会显示“错误加载页面”消息。这很糟糕,因为用户可能不知道她为什么会收到此错误。是否可以点击错误事件,以便我可以检查会话的状态,并在会话耗尽时将用户重定向到登录页面?
答案 0 :(得分:3)
怎么样?
pagechangefailed
事件?
当页面加载失败时会触发,这似乎就是这种情况。
的更多信息答案 1 :(得分:2)
相关:
您可以使用类似
的内容<强> pagebeforeshow 强>
在转换开始之前,在显示的页面上触发。
示例(伪代码):
$('#pageId').live('pagebeforeshow',function(event, ui){
// check session here
if(!$session) {
// redirect to login
$.mobile.changePage('#login');
}
});
答案 2 :(得分:1)
我最终分配了jQuery Mobile并添加了添加自定义错误处理程序的功能:https://github.com/jquery/jquery-mobile/pull/2504我认为这优于其他建议,因为它不会增加任何开销,除非实际发生错误。
更新:jQuery Mobile RC1中会有一个新的pageloadfailed事件。这将根据项目标准优雅地解决这个问题。
答案 3 :(得分:0)
$(a).click(function(){
// check for session?
});