【问题标题】:Return to different page when clicking back button in browser after payment付款后在浏览器中点击返回按钮返回不同页面
【发布时间】:2014-02-19 16:44:47
【问题描述】:

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

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

如何做到这一点?我想不出一个好的解决方案。仅此页面上的返回按钮事件并重定向到索引页面

【问题讨论】:

  • 使用 location.replace("mainpage.php?paymentdetails") 并让 mainpage.php 调用付款
  • github.com/browserstate/history.js 这仅适用于 html5 浏览器。它允许您操纵用户浏览器历史记录
  • 在成功完成支付过程后,根据在 someCookie 中植入的 get 变量刷新标题?
  • mplungjan,老实说,我不明白你的答案,但随着它的投票,我认为你应该用更多细节来回答。我的php方案是:index.php -> step1.php -> step2.php -> 将带有成功url的请求发布到其他服务 -> 付款后返回success.php

标签: javascript php


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

    这有点hacky,如果有人快速单击“返回”多个,它就不会起作用,但是嘿,它可能会很好用。

    【讨论】:

      猜你喜欢
      • 2020-08-05
      • 1970-01-01
      • 2012-12-08
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多