Fix browser back button losing scroll position. ref #835

This commit is contained in:
Toby Zerner 2016-03-10 17:55:35 +10:30
parent 7c25880806
commit 6351c2354f
2 changed files with 12 additions and 2 deletions

View File

@ -23455,7 +23455,13 @@ System.register('flarum/components/IndexPage', ['flarum/extend', 'flarum/compone
var scrollTop = app.cache.scrollTop; var scrollTop = app.cache.scrollTop;
$('#app').css('min-height', $(window).height() + heroHeight); $('#app').css('min-height', $(window).height() + heroHeight);
$(window).scrollTop(scrollTop - (app.cache.heroHeight - heroHeight));
// Scroll to the remembered position. We do this after a short delay so that
// it happens after the browser has done its own "back button" scrolling,
// which isn't right. https://github.com/flarum/core/issues/835
setTimeout(function () {
return $(window).scrollTop(scrollTop - app.cache.heroHeight + heroHeight);
}, 1);
app.cache.heroHeight = heroHeight; app.cache.heroHeight = heroHeight;

View File

@ -103,7 +103,11 @@ export default class IndexPage extends Page {
const scrollTop = app.cache.scrollTop; const scrollTop = app.cache.scrollTop;
$('#app').css('min-height', $(window).height() + heroHeight); $('#app').css('min-height', $(window).height() + heroHeight);
$(window).scrollTop(scrollTop - (app.cache.heroHeight - heroHeight));
// Scroll to the remembered position. We do this after a short delay so that
// it happens after the browser has done its own "back button" scrolling,
// which isn't right. https://github.com/flarum/core/issues/835
setTimeout(() => $(window).scrollTop(scrollTop - app.cache.heroHeight + heroHeight), 1);
app.cache.heroHeight = heroHeight; app.cache.heroHeight = heroHeight;