Jquery Mobile(SPA)禁用浏览器后退按钮和刷新?

时间:2014-10-28 07:25:50

标签: javascript jquery jquery-mobile cordova

嗨我正在使用jqueryMobile SPA模板作为我的手机间隙应用。

对于网络版,我的要求是在点击浏览器后退按钮时禁用或向用户显示警告消息。我搜索了我的要求,但没有找到任何理想的解决方案。请指导我。感谢。

2 个答案:

答案 0 :(得分:2)

要禁用我使用的浏览器的后退按钮

 $(window).on("navigate", function (event) {
     event.preventDefault();
     window.history.forward(1);

});

但是在按下f5时会产生错误并将我重定向到登录页面。因此我禁用了f5,ctrl + R按钮。

 var ctrlKeyDown = false;
 $(document).on("pagecreate", function (){    
    $(document).on("keydown", keydown);
    $(document).on("keyup", keyup);
 });

 function keydown(e) { 
   if ((e.which || e.keyCode) == 116 || ((e.which || e.keyCode) == 82 && ctrlKeyDown))
    {
     // Pressing F5 or Ctrl+R
     e.preventDefault();
    } else if ((e.which || e.keyCode) == 17) {
    // Pressing  only Ctrl
    ctrlKeyDown = true;
  }
}

function keyup(e){
  // Key up Ctrl
 if ((e.which || e.keyCode) == 17) 
    ctrlKeyDown = false;
}

它完全满足了我的要求。谢谢Suhas :)。

答案 1 :(得分:1)

试试这个 - FIDDLE

$(window).on("navigate", function (event, data) {
    var direction = data.state.direction;
    if ( !! direction) {
        alert(direction);
    }
});

请参阅以下链接。

Refer This

或者您可以使用

window.history.forward(1);

按下后退按钮时。但它加载然后重定向不正确。