Ao tentar incorporar um iFrame em um aplicativo web móvel usando o Safari em dispositivos iOS, surge um desafio comum: restringir as dimensões do iFrame para caber na tela do iPhone. Os atributos de altura e largura dentro do elemento iFrame geralmente não têm efeito.
No entanto, uma solução simples consiste em colocar o iFrame dentro de um elemento div. Isso permite o controle do tamanho do iFrame, mas levanta um novo problema: a incapacidade de rolar dentro do iFrame.
Para resolver esse problema, execute as seguintes etapas:
Abaixo está um exemplo de código JavaScript e HTML para conseguir isso:
// JavaScript setTimeout(function () { var startY = 0; var startX = 0; var b = document.body; b.addEventListener("touchstart", function (event) { parent.window.scrollTo(0, 1); startY = event.targetTouches[0].pageY; startX = event.targetTouches[0].pageX; }); b.addEventListener("touchmove", function (event) { event.preventDefault(); var posy = event.targetTouches[0].pageY; var h = parent.document.getElementById("scroller"); var sty = h.scrollTop; var posx = event.targetTouches[0].pageX; var stx = h.scrollLeft; h.scrollTop = sty - (posy - startY); h.scrollLeft = stx - (posx - startX); startY = posy; startX = posx; }); }, 1000);
Observe que se você não controlar o conteúdo do iFrame, poderá implementar uma sobreposição. Porém, esta solução não permitirá interação com o conteúdo do iFrame, além da rolagem.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3