Я наткнулся на это, когда начал задавать в основном тот же вопрос.Я сформулирую свой первоначальный ответ в этой форме, так как я уже написал его: grin:.
У меня есть веб-сайт с некоторым содержанием, несколькими ссылками, а затем частично вниз по странице есть встроенная форма Google.в фрейме.
На мобильном телефоне (я только тестировал iPhone) я обнаружил, что для первоначального нажатия на ссылки требуется только «мягкое» касание.Однако после нажатия на iframe и прокрутки назад к ссылкам эти ссылки требуют более жесткого нажатия.
(Сначала я подумал, что с пальцами что-то не так!)
Мне удалось решить эту проблему, добавив на страницу следующий код JavaScript:
<script>(function(d){
// fix "hard" link clicks caused by iphone fixation on iframe
d.getElementsByTagName("BODY")[0].ontouchstart = function() {
d.getElementsByTagName("BODY")[0].focus()
}
}(document))</script>
Это возвращает фокус на <body>
всякий раз, когда вы касаетесь <body
>.Это работает, но хорошо ли это исправить?Есть ли лучшее решение?
https://iframe -iphone-focus.glitch.me / демонстрирует проблему и исправление.