Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

257
Vistas
Evento de JavaScript para detectar la reposición de desplazamiento del lado del navegador en URL hash en Firefox e IE Edge en Windows

Mientras intentaba modificar algunas secuencias de comandos de desplazamiento para realizar enlaces "saltar a" en algunas páginas, noté que si tiene una página que contiene una etiqueta hash en la URL, el comportamiento es diferente según los navegadores cuando presiona Intro en la dirección barra, después de cargar la página.

Por ejemplo, si carga una página con un tiene en la URL y luego se aleja del elemento de destino, noté que en Firefox e IE, si coloca el cursor en la barra de direcciones y presiona Intro, la página volverá a el elemento HTML tiene el mismo atributo de id que el hashtag pero la página no se recargará .

También noté que ni los eventos popstate ni hashchange se activan en tal escenario. Lo más probable es que se active el evento de scroll , pero ¿cómo podemos saber que no es el usuario el que se desplaza sino el navegador que restablece su posición?

¿Hay alguna forma de detectar este tipo de eventos en los navegadores? Dado que esto está fuera de la ventana gráfica, tengo un poco de curiosidad. Pero tengo un escenario en el que me gustaría reposicionar el menú dependiendo de si la página se desplaza hacia arriba o hacia abajo.

Para tratar de explicar lo que estoy buscando:

  1. Página con hashtag #test y elemento <div id="test">
  2. Presione F5, la página se posiciona justo donde está el <div>
  3. Desplazarse hacia arriba o hacia abajo
  4. Ve a la barra de direcciones y presiona enter
  5. ---- Buscando un evento para detectar la acción anterior ---
  6. la página se posiciona justo donde está el <div>

Ejemplo en JSBin (abrir en Firefox):

http://jsbin.com/rifikereze/1/edit?html,js,salida

Producción:

http://output.jsbin.com/rifikereze/1#test2

  1. Abre tu consola en Firefox
  2. Asegúrese de que en la configuración de Firefox habilite "registros persistentes" para mantener registros después de recargar la página
  3. Presione F5 (debería ver un mensaje de consola "recargado")
  4. Ahora intente mover la página, coloque el cursor en la barra de direcciones y presione enter
  5. Verás que la página no recarga

¿Cómo podemos detectar estos eventos (aparte de los eventos de desplazamiento)?

Asegúrate de usar Firefox en Windows si intentas reproducir. Parece que otros sistemas operativos tienen otros comportamientos.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Dada la falta de respuesta, mi supuesta respuesta es No

No hay forma de detectar el reposicionamiento de los navegadores utilizando identificadores de fragmentos (también conocidos como hash ) en las URL y la barra de direcciones.

Además de esto, los navegadores parecen tener comportamientos inconsistentes:

  1. Firefox en Linux se comporta de manera diferente que en Windows (recarga la página).
  2. Chrome parece estar ignorando el reposicionamiento a menos que la posición de la página se vuelva a establecer en la posición superior antes de descargar.
  3. Parece que no hay un estándar entre los navegadores sobre si el comportamiento normal es recargar o reposicionar.

La única forma segura de detectar el reposicionamiento de identificadores de fragmentos es al cargar la página.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda