diff --git a/public/src/ajaxify.js b/public/src/ajaxify.js index 914fdf8974..35c30ab1a1 100644 --- a/public/src/ajaxify.js +++ b/public/src/ajaxify.js @@ -37,6 +37,7 @@ $(document).ready(function () { } }); + ajaxify.count = 0; ajaxify.currentPage = null; ajaxify.go = function (url, callback, quiet) { @@ -100,6 +101,10 @@ $(document).ready(function () { return true; }; + ajaxify.isCold = function () { + return ajaxify.count <= 1; + }; + ajaxify.handleRedirects = function (url) { url = ajaxify.removeRelativePath(url.replace(/^\/|\/$/g, '')).toLowerCase(); var isClientToAdmin = url.startsWith('admin') && window.location.pathname.indexOf(RELATIVE_PATH + '/admin') !== 0; @@ -113,7 +118,6 @@ $(document).ready(function () { return false; }; - ajaxify.start = function (url) { url = ajaxify.removeRelativePath(url.replace(/^\/|\/$/g, '')); @@ -123,6 +127,8 @@ $(document).ready(function () { $(window).trigger('action:ajaxify.start', payload); + ajaxify.count += 1; + return payload.url; }; @@ -197,7 +203,6 @@ $(document).ready(function () { ajaxify.end = function (url, tpl_url) { var count = 2; - function done() { count -= 1; if (count === 0) { @@ -205,7 +210,6 @@ $(document).ready(function () { } } ajaxify.loadScript(tpl_url, done); - ajaxify.widgets.render(tpl_url, done); $(window).trigger('action:ajaxify.contentLoaded', { url: url, tpl: tpl_url }); diff --git a/public/src/app.js b/public/src/app.js index f3d27e7ef0..f56d894de8 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -278,7 +278,9 @@ app.cacheBuster = null; app.replaceSelfLinks(); // Scroll back to top of page - window.scrollTo(0, 0); + if (!ajaxify.isCold()) { + window.scrollTo(0, 0); + } }; app.showMessages = function () {