JavaScript Detection of Ubication Hash cambia
cuando utiliza Ajax y hash para navegación, a menudo es esencial detectar cambios en la ubicación hash, indicativo de la navegación. Load
inicialmente, comprobando el hash de ubicación en el documento la carga funciona bien. Sin embargo, al usar la navegación basada en hash y presionar el botón de retroceso del navegador (por ejemplo, la transición de #456 a #123), el cambio de hash no es capturado fácilmente por JavaScript.
en el enfoque de votación de intervalo
la solución tradicional que implica un intervalo que continúa la corriente y la corriente de la corriente. Si se detecta una diferencia, se dispara un evento "cambiado", lo que permite que los suscriptores respondan. Este método no es ideal, pero proporciona un retroceso para los navegadores que carecen de soporte nativo para este evento.jQuery Solution
para aquellos que usan jQuery, una solución más elegante está disponible. JQuery proporciona la función ON () para escuchar eventos Hashchange en el objeto de la ventana. Esta abstracción simplifica el proceso sin requerir el conocimiento del soporte de hashchange.
jQuery Eventos especiales
Sin embargo, algunos navegadores no pueden admitir eventos de hashchange de manera nativa. Para abordar esto, JQuery permite el uso de eventos especiales. En este caso, el código de configuración se puede usar para verificar si hay soporte de navegador nativo. Si falta, se establece un temporizador para encuestar los cambios y activar el evento jQuery. Este enfoque aísla el código de los problemas de soporte.
implementando estas técnicas, los desarrolladores pueden detectar efectivamente los cambios de hash y responder en consecuencia, permitiendo la navegación basada en el hash robusta y receptiva en aplicaciones AJAX.
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