Я использую HTML-код PayPal для веб-сайта Payments Pro для оформления заказа на своем веб-сайте, и я заметил, что Safari на iOS полностью блокирует загрузку 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>
Спасибо