如何在jQuery Mobile中处理页面更改错误

时间:2011-09-20 12:06:57

标签: jquery-mobile

我正在编写一个需要用户身份验证的jQuery Mobile应用程序。同一个用户无法从多个位置打开她的会话:如果用户从另一个浏览器登录,则前一个会话被标记为已死。

如果用户尝试使用带有死会话的浏览器移动到另一个页面,则会显示“错误加载页面”消息。这很糟糕,因为用户可能不知道她为什么会收到此错误。是否可以点击错误事件,以便我可以检查会话的状态,并在会话耗尽时将用户重定向到登录页面?

4 个答案:

答案 0 :(得分:3)

怎么样?
pagechangefailed

事件?

当页面加载失败时会触发,这似乎就是这种情况。

有关http://jquerymobile.com/test/docs/api/events.html

的更多信息

答案 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?
});