付款后点击浏览器中的后退按钮,返回不同的页面

时间:2014-02-19 16:44:48

标签: javascript php

我听说这是个坏主意,但我会试着解释一下我想要实现的目标:

在我的网站上,用户填写一些信息,然后转到另一个处理用户付款的服务。因此,在用户使用信用卡付款后,他再次被重定向到特殊$successUrl到我的网站,在那里他看到成功的付​​款消息。我的老板想要在付款后如果用户点击后退按钮(在成功页面上)而不是再次转到付款服务,则必须将其重定向到主页面。

如何实现?我想不出一个好的解决方案。只有在此页面上收回按钮事件并重定向到索引页

2 个答案:

答案 0 :(得分:0)

我认为唯一的方法是使用javaScript

您可以绑定到“导航”事件

$(window).on("navigate", function (event, data) {
  var direction = data.state.direction;
  if (direction == 'back') {
    window.location.href='http://google.com';
    event.preventDefault();
  }
});

答案 1 :(得分:0)

您可以创建成功页面,让我们称之为SuccessRedirect,将浏览器(使用javascript或HTML元标题,您不能使用HTTP标头)重定向到另一个页面SuccessActual,即显示成功消息。

在第一次访问SuccessRedirect页面时设置一个cookie,这样如果有人第二次访问它(即点击“返回”按钮后)并且已经设置了cookie,而不是重定向到{{1}它重定向到主页。

Cookie名称应包含某种付款交易ID,以便您显示每笔付款交易的成功页面。

有点hacky,如果有人快速点击'Back'多次,它将无法工作,但是嘿,它可能运作得很好。