Al intentar incrustar un iFrame dentro de una aplicación web móvil usando Safari en dispositivos iOS, surge un desafío común: restringir las dimensiones del iFrame a Se ajusta a la pantalla del iPhone. Los atributos de alto y ancho dentro del elemento iFrame a menudo no tienen ningún efecto.
Sin embargo, una solución simple consiste en encerrar el iFrame dentro de un elemento div. Esto permite controlar el tamaño del iFrame, pero plantea un nuevo problema: la imposibilidad de desplazarse dentro del iFrame.
Para solucionar este problema, ejecute los siguientes pasos:
A continuación se muestra un ejemplo del código JavaScript y HTML para lograr esto:
// 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);
Tenga en cuenta que si no controla el contenido del iFrame, puede implementar una superposición. Sin embargo, esta solución no permitirá la interacción con el contenido del iFrame, aparte del desplazamiento.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3