Просто привязав окно (в jQuery) к popstate, событие всегда запускается дважды.
$( window ).bind( 'popstate', myFunction );
В myFunction () нет ничего, что могло бы вызвать это - я попытался выделить эту функцию просто:
console.log( 'triggered' );
И результат тот же. Он всегда срабатывает дважды (проверено в Safari, Chrome и Firefox).
Я знаю, что есть проблемы с API истории HTML5, но любые советы, кроме 'try History.js', будут с благодарностью приняты!