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

136
Vistas
enlace de ventana POPSTATE

Dado lo siguiente:

 $(window).bind("popstate", function() { alert('popstate'); });

En la primera carga, la alerta se activa con FireFox y Chrome, pero no con Safari. ¿Porqué es eso? ¿Alguien más ha visto esto y sabe cómo resolverlo mejor?

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

0

Ver el código de pjax. pjax es una biblioteca de código abierto bastante popular ahora, por lo que la siguiente lógica podría ser la mejor para evitar este problema.

 var popped = ('state' in window.history), initialURL = location.href $(window).bind('popstate', function(event) { // Ignore inital popstate that some browsers fire on page load var initialPop = !popped && location.href == initialURL popped = true if ( initialPop ) return ...

https://github.com/defunkt/jquery-pjax/blob/master/jquery.pjax.js

over 4 years ago · Santiago Trujillo Denunciar

0

En webkit, el evento popstate se activa al cargar la página. Para evitar esto, este sencillo trabajo funciona para mí:

Cada vez que disparo history.push(...) agrego la class historypush al body -etiqueta:

 history.push(...); $("body").addClass("historypushed");

Cuando desencadeno el evento popstate, compruebo esta clase:

 $(window).bind('popstate', function(e) { if($("body").hasClass("historypushed")) { /* my code */ } });
over 4 years ago · Santiago Trujillo Denunciar

0

La situación ahora es al revés. Chrome ha solucionado el error y ahora activa popstate en la carga de la página, pero Firefox 4 (desde RC) se ha apartado de la especificación y ahora no activa popstate .

ACTUALIZACIÓN : la especificación de HTML5 se cambió en 2011 para indicar que el estado pop no debe activarse al cargar la página. Tanto Firefox como Chrome ahora hacen lo correcto a partir de Firefox 4 y Chrome 34 .

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