在付款过程中,我有一个远程3DSecure表单在我的网站上的iframe。在用户输入他们的3D安全密码后,远程银行将把用户发回一个提供的URL ( "termURL"),并提供结果。当然,这会留在iframe里。
我想要做的是,在收到银行的邮件后,检查我是否在银行里,如果是的话,就把它打破。
检查window.self !== window.top会告诉我是否在iframe。寻找预期的职位价值会告诉我,如果我已经从银行回来(或POSTing回到我自己,与银行的3DSecure结果)。接下来怎么办?
我猜iframe中的页面需要用_top的目标重新发布自己。我是否需要使用一个自发表单来完成这个任务,还是只使用JavaScript即可完成呢?
当iframe显示3DSecure表单时,我无法控制iframe的内容,所以当用户返回我的站点时,我无法使该远程站点在用户浏览器中以_top为目标。
发布于 2018-05-03 14:08:56
通过使用javascript或类似的方法检查window.self != window.top,您始终可以通过建议的方式从iframe中分离出来:
<script>
window.onload = function() {
if (window.parent.document.getElementById('your-iframe-id')) {
window.top.location.href = "https://the-url-to-continue";
}
}
</script>当然,这是the-url-to-continue的另一个the-url-to-continue,您需要一些东西来确定客户端已经完成了有关3D安全的所有工作。可能是会话,或者是饼干.我建议这次会议..。
https://stackoverflow.com/questions/35920077
复制相似问题