我正在使用PayPal网站Payments Pro HTML嵌入代码在我的网站上结帐,并且我注意到iOS上的Safari完全阻止了iframe的加载,我看到的是iframe应该位于的空白区域。>
调查之后,我意识到它会将框架当作弹出窗口,而Safari会将其作为默认设置。我启用了弹出窗口,然后再次尝试,当页面加载“此站点正在尝试打开弹出窗口”时,Safari提醒我。允许它确实会打开一个新标签。
在其他任何浏览器(例如Chrome或Firefox)中,我都没有这种行为,即使弹出窗口被阻止,iframe也可以正常加载。
我在macOS Safari上尝试过,并且存在相同的行为,但是您确实获得了更多的视觉反馈,允许我单击并允许。
<iframe name="hss_iframe" id="paypal-iframe" height="540px" width=100%" style="border: none; max-width: 100%; margin:0;padding:0"></iframe>
<form style="display:none" target="hss_iframe" name="form_iframe" method="post"
action="https://securepayments.paypal.com/webapps/HostedSoleSolutionApp/webflow/sparta/hostedSoleSolutionProcess">
<input type="hidden" name="cmd" value="_hosted-payment">
<input type="hidden" name="subtotal" value="XXXX">
<input type="hidden" name="currency_code" value="GBP">
<input type="hidden" name="business" value="XXXXXXXXXXXX">
<input type="hidden" name="paymentaction" value="sale">
<input type="hidden" name="template" value="mobile-iframe">
<input type="hidden" name="solution_type" value="Sole">
<input type="hidden" name="return" value="XXXX">
</form>
<script>
document.form_iframe.submit();
</script>
谢谢