Estoy usando el navegador móvil Chrome en galaxy s4, android 4.2.2 y, por alguna razón, cada vez que desplazo la página hacia abajo, se activa un evento de cambio de tamaño verificado por la escala de imágenes de una presentación de diapositivas jquery.cycle2.
¿Alguna idea de por qué esto podría estar sucediendo?
android
jquery
google-chrome
scroll
Kobe Bryant
fuente
fuente
Respuestas:
Solo por curiosidad, estaba tratando de reproducirlo y, si estoy en lo correcto, esto es causado por la barra de navegación cromada.
Cuando te desplazas hacia abajo y Chrome oculta la barra de navegación del navegador, produce un cambio de tamaño de la ventana, pero esto es correcto, porque después de eso tenemos un tamaño de ventana más grande debido al espacio libre que ha dejado la barra de navegación del navegador.
Artículo relacionado: https://developers.google.com/web/updates/2016/12/url-bar-resizing
fuente
Suena extraño, pero lo he visto en otros navegadores. Puede solucionar esto así.
var width = $(window).width(), height = $(window).height();
luego, en su controlador de eventos de cambio de tamaño, puede hacerlo.
if($(window).width() != width || $(window).height() != height){ //Do something }
No sé el alcance de sus funciones y todo eso, pero debería obtener la esencia de esto.
fuente
$(window).resize()
. He sugerido una edición.if($(window).width() != width){ }
No sé si todavía es interesante, pero Mi solución es :)
var document_width, document_height; $(document).ready(function() { document_width=$(document).width(); document_height=$(document).height(); // Do something } $(window).resize(function() { if(document_width!=$(document).width() || document_height!=$(document).height()) { document_width=$(document).width(); document_height=$(document).height(); // Do something } }
fuente
La pregunta ya ha sido respondida, pero dado que esta pregunta no plantea la cuestión de los sitios receptivos, me gustaría agregar algo de información al respecto.
Encontré este problema en Chrome en Android al desarrollar un sitio web receptivo. Al cambiar el tamaño de la ventana, quiero ocultar los menús (debido a que algunos elementos de diseño necesitan un posicionamiento adecuado), pero el comportamiento de Chrome para Android para activar un evento de cambio de tamaño en el desplazamiento lo hizo algo difícil.
Cambiar para comenzar a usar onOrientationChange no era una opción, ya que este es un sitio receptivo, no hay cambio de orientación en una PC de escritorio, pero aún necesitaba el código para funcionar tanto en PC normales, como en tabletas y teléfonos inteligentes.
Podría haber comenzado a rastrear el navegador y demás, pero hasta ahora he podido evitar eso ...
Intenté implementar la solución sugerida por CWitty, pero dado que el desplazamiento hacia arriba o hacia abajo, de hecho, desencadena un cambio de altura que tampoco funcionó.
Terminé agregando una condición que solo oculta el menú cuando se cambia el ancho, no cuando se cambia la altura. Esto funciona en mi caso, ya que solo necesito reescribir el menú cuando se cambia el ancho.
fuente
Los navegadores de los dispositivos móviles a menudo ocultan su barra de navegación superior horizontal cuando alguien se desplaza hacia abajo y la muestran de nuevo cuando se desplaza hacia arriba. Este comportamiento afecta el tamaño del cliente, activando el evento de cambio de tamaño. Solo necesita controlar no ejecutar su código debido a cambios de altura o, al menos, debido a ese cambio de altura.
fuente
Este es un duplicado de evento de cambio de tamaño Javascript en scroll mobile
Para solucionarlo, use onOrientationChange y la propiedad window.orientation. Vea la respuesta relacionada: aquí
fuente
onOrientationChange
es útil en otros lugares ..Resulta que hay muchas cosas que pueden activarse
resize
en varios navegadores móviles.Sé que no es ideal enlazar a un recurso externo, pero QuirksMode tiene una tabla legible que no quiero duplicar (o mantener) aquí: http://www.quirksmode.org/dom/events/resize_mobile.html
Solo para dar un ejemplo, el que nos estaba consiguiendo: aparentemente en muchos navegadores, abrir el teclado suave dispara el evento.
fuente