【发布时间】:2019-12-30 13:01:13
【问题描述】:
我正在尝试将第 3 方支付提供商的“插入式”支付表单集成到 PHP 页面中。我只需要像这样插入他们的脚本标签和表单:
<script src="https://test.paymentprovider.com/paymentform.js?id=<?php echo $checkoutId; ?>"></script>
<form action="http://my.success.url/result.php"></form>
在页面加载时,它会生成支付表单并在它生成的 iframe 中加载一个额外的安全验证表单。成功后,它会重定向到我提供的 URL(在上面的 form 标记中)。在 Firefox 中,它可以完美运行,但在 Chrome 中却不行,而是停留在初始页面上。当我使用 Chrome Inspector 查看控制台输出时,出现一堆错误,其中两个是:
不安全的 JavaScript 尝试从 URL 为“https://test.paymentprovider.com/v1/redirect.html?redirectUrl=http://my.success.url/result.php&res=36D0D8B607F562A5630AF&target=_top&method=GET”的框架启动对 URL 为“http://my.success.url/form.php”的框架的导航。尝试导航的框架以它的顶级窗口为目标,但它既不与目标同源,也不处理用户手势。
与
未捕获的安全错误:无法在“位置”上设置“href”属性:当前窗口无权将目标框架导航到“http://my.success.url/result.php&resultpath=%2Fv1%2Fcheckouts%2F36D0D8B607F562A5630AF%2Fpayment”。
看到这种情况只发生在 Chrome 上,有没有办法将 Chrome 的 test.paymentprovider.com“列入白名单”?
编辑:抱歉,这实际上是针对 PhoneGap 应用程序,我知道它运行 webkit。
【问题讨论】: