я следующий код в моем приложении:Добавить косую черту hashchange брейки кнопку назад
$(window).hashchange(function(){
console.log('hashchange event');
var hash = window.location.hash;
var lastChar = hash.substr(-1);
if(lastChar != '/') {
// Add trailing slash
hash = hash.replace(/\/?$/, '/');
// Update the hash
window.location.hash = hash;
}
});
Если пользователь пытается связываться с хэш-страницы или страницы запрашивается с другой хэш и Безразлично У меня есть конечная косая черта, тогда она будет автоматически добавлять один и обновлять хеш.
Это должно предотвратить дублированные ссылки как: domain.com/#/home
и domain.com/#/home/
Однако это ломает кнопку назад, потому что если вы попытаетесь вернуться ПОСЛЕ хэш был обновлен, вы будете в конечном итоге направляется вперед снова, потому что будет немедленно исправлять хэш, чтобы вы оказались в цикле НИКОГДА не могли отступить (если вы не удерживаете кнопку «Назад» и не выбираете запись истории, ПЕРЕД заменой замены хэша).
Любые идеи о том, как я мог обойти это?
Кроме того, если вам нужна хорошая поддержка браузера и вы готовы использовать плагин, это выглядит, как это может сделать трюк: https://github.com/browserstate/history.js (я убежище 't использовал его, но Modernizr перечисляет его в своих документах) – mcbex