В Google Closure Library действительно классная реализация стека истории браузера.Вы можете получить исходный код истории отсюда .
Чтобы использовать менеджер истории библиотеки Closure, вы должны определить скрытый ввод.Здесь есть хитрость.Если вы не передадите поле ввода классу, оно создаст его для вас, но попытается добавить его в DOM с помощью document.write
из-за кросс-браузерной поддержки.Лучший и простой способ - предоставить скрытый ввод.
Вот простая реализация goog.History.
var history = new goog.History(false, '', document.getElementById('historyInput'));
goog.events.listen(history, goog.history.EventType.NAVIGATE, function() {
console.log(history.getToken());
});
history.setEnabled(true);
Затем перейдите к некоторым хешированным URL-адресам на своей странице, и вы должны увидеть свойизменил хеш в вашей консоли как лог.