load и popstate а Chrome 
		
		
		
		Как избежать вызов события popstate при загрузке страницы в Хроме? Это можно сделать говнокодом: поставить таймер и смотреть, вызвалось ли одно событие, но как сделать по-человечески, не могу придумать. 
	 | 
	
		
 Цитата: 
	
  | 
	
		
  | 
	
		
 Я так делал в своей библиотеке 
	
var initialFire = document.location.href;
window.onpopstate = function() {
    if ( initialFire === document.location.href ) {
        return initialFire = false;
    }
    initialFire = false;
    // some code here
    // ...
}
 | 
	
		
 ах да, еще перед вызовом pushState или replaceState нужно зафалсить переменную initialFire иначе в других браузерах при возврате на предыдущию страницу не сработает событие popstate 
	 | 
	
		
 Меня больше всего удивляет, что popstate срабатывает после load. 
	 | 
	
		
 что бы не переделывать весь код, то можно сделать так, ну завернуть это куда нить или еще как нить 
	
var
    history = window.history,
    pushState = history.pushState,
    replaceState = history.replaceState,
    initialFire = document.location.href;
history.pushState = function() {
    initialFire = false;
    pushState.apply( history, arguments );
}
history.replaceState = function() {
    initialFire = false;
    replaceState.apply( history, arguments );
}
window.onpopstate = function(){
    if ( initialFire === document.location.href ) {
        return initialFire = false;
    }
    initialFire = false;
 
    // some code here
    // ...
}
 | 
	
		
 Цитата: 
	
  | 
	
		
 devote, melky, спасибо. Но я сделал вот так: 
	
$( window ).bind( 'load', function( event ) {
		handlers.popstate();
		console.log('load');
		setTimeout( function(){
			$( window ).bind( 'popstate', function( event ) {
				handlers.popstate();
				console.log('popstate')
			});
		},0);
	});
Прокатило.  | 
	
		
 Тему продолжу) 
	В FF TypeError: history is undefined с ссылкой на строку pushState = history.pushState  | 
| Часовой пояс GMT +3, время: 02:46. |