2014-01-30 46 views
0

我们有一个销售流程,在某个点将用户重定向到外部安全页面。 这是通过一些逻辑调用内部页面来准备外部页面的请求,然后提交数据。 当用户在外部页面时,如果他点击后退按钮,将会转到我们的“虚拟”页面,只会被重新定向到外部页面。如何避免在提交时向浏览器历史记录添加URL

用户应该快速点击两次以获得正确的页面。

有什么办法可以避免这种情况吗?就像不在历史中添加“虚拟”页面一样? 我无法更改外部页面。

我已阅读关于window.location.replace,但在这种情况下,我提交表单,而不是重定向页面。

+0

后退按钮是一个头疼:)你不能检查推介网址,然后重新定向回/提交表格相应? – Shoban

+0

不幸的是,这只有当一个页面链接到另一个,而不是当按下后退按钮时才起作用。 – algiogia

+0

后退按钮是用户期望以某种方式工作的。试图与它合作会产生反作用。如果用户点击后退按钮,他们会提示重新发布他们的数据,还是已经发布到您的内部页面? – Tim

回答

0

我对此有点迟了,但是您可以将history.pushState()附加到临时页面上的onSubmit事件中,该事件在前面注入前一页。

那么,你原来的流量是

Startpage (S) -> Interim page (I) -> External page (E) 

历史版本将

S -> I -> S* -> E 

哪里S*是已插入pushState()

显然是更好的选择的S网址将不会有临时页面 - 也许花更多的精力来设置S即可做你需要的一切?