Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

251
Views
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.

about 4 years ago · Santiago Trujillo
1 answers
Answer question

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.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!