使用javascript单击后退按钮时,重定向到另一个URL

时间:2013-12-25 09:08:47

标签: javascript php html

我有一张付款表格,用户可以在其中输入他的所有卡片详细信息,当他点击时,他会被带到银行3D安全页面。但是,问题是,用户只需点击浏览器的后退按钮即可返回付款页面,如果他再次启动“立即付款”,则可能会出现多次交易和重复操作。< / p>

所以我的问题是:有什么方法可以在用户点击后退按钮时将用户重定向到自定义页面,该按钮显示“会话已过期,因此交易已被取消”。这样我们就可以避免重复引用?

4 个答案:

答案 0 :(得分:15)

单击浏览器后退按钮时,使用以下jquery重定向您自己的URL andipedia.com

   jQuery(document).ready(function($) {

      if (window.history && window.history.pushState) {

        $(window).on('popstate', function() {
          var hashLocation = location.hash;
          var hashSplit = hashLocation.split("#!/");
          var hashName = hashSplit[1];

          if (hashName !== '') {
            var hash = window.location.hash;
            if (hash === '') {
              alert('Back button was pressed.');
                window.location='www.example.com';
                return false;
            }
          }
        });

        window.history.pushState('forward', null, './#forward');
      }

    });

答案 1 :(得分:0)

您必须使用历史记录API,为了更好的兼容性,请使用history.js plugin

处理后退按钮:

$(window).bind('onpopstate', function(e){
   //your dark doings here
});

答案 2 :(得分:0)

您可以使用Brooke的修改过的脚本。这是一个很长的脚本(应该用作外部文件)。您可以下载here

然后使用这样的脚本:

bajb_backdetect.OnBack = function(){
    document.location.href = 'http://google.com';
}

答案 3 :(得分:0)

  

如果用户单击“后退”按钮,这会将您重定向到您指定的   页面(100%工作)

window.history.pushState({page: 1}, "", "");

window.onpopstate = function(event) {
    if(event){
        window.location.href = 'https://www.google.com/';
        // Code to handle back button or prevent from navigation
    }
}