Javascript JqueryMobile(SPA)是否禁用浏览器后退按钮并刷新?

Javascript JqueryMobile(SPA)是否禁用浏览器后退按钮并刷新?,javascript,jquery,jquery-mobile,cordova,Javascript,Jquery,Jquery Mobile,Cordova,您好,我正在为我的手机gap应用程序使用jqueryMobile SPA模板 对于web版本,我的要求是在单击浏览器后退按钮时禁用或向用户显示警告消息。我在谷歌上搜索了我的要求,但没有找到任何想要的解决方案。请指导我。谢谢。试试这个- 请参考以下链接 或者你可以使用 window.history.forward(1); 当按下后退按钮时。但它加载后重定向的方式不正确。要禁用我使用的浏览器的Backbutton $(window).on("navigate", function (even

您好,我正在为我的手机gap应用程序使用jqueryMobile SPA模板

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

试试这个-

请参考以下链接

或者你可以使用

window.history.forward(1);

当按下后退按钮时。但它加载后重定向的方式不正确。

要禁用我使用的浏览器的Backbutton

 $(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:)。

也许这篇文章有你可以使用的信息。不可能禁用它,事实上,你不应该禁用它。@Marvin@Omar谢谢……。谢谢。这工作正常,但是否可以禁用backbutton@varun您可以根据需要显示警告消息。这是可以的,但它不会停止页面导航。我想停止带有警告的导航message@varun我已经编辑了我的答案,请找到那个链接。谢谢Suhas,我使用您的代码来满足我的要求。我将发布我使用的代码。您可能需要推送初始状态以使此工作正常。。。类似这样的
window.onload=function(){if(window.history&&history.pushState){history.pushState(null,null,null);}
 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;
}