diff --git a/public/src/ajaxify.js b/public/src/ajaxify.js index 01b438b7b0..89801eb76b 100644 --- a/public/src/ajaxify.js +++ b/public/src/ajaxify.js @@ -61,14 +61,6 @@ var ajaxify = {}; } if (templates.is_available(tpl_url) && !templates.force_refresh(tpl_url)) { - if (quiet !== true) { - if (window.history && window.history.pushState) { - window.history.pushState({ - "url": url - }, url, RELATIVE_PATH + "/" + url); - } - } - translator.load(tpl_url); jQuery('#footer, #content').fadeOut(100); @@ -84,17 +76,24 @@ var ajaxify = {}; callback(); } - jQuery('#content, #footer').stop(true, true).fadeIn(200, function () { - - app.process_page(); - if (window.location.hash) - hash = window.location.hash; - if (hash) - app.scrollToPost(hash.substr(1)); + utils.refreshTitle(url, function() { + jQuery('#content, #footer').stop(true, true).fadeIn(200, function () { + if (quiet !== true) { + if (window.history && window.history.pushState) { + window.history.pushState({ + "url": url + }, url, RELATIVE_PATH + "/" + url); + } + } + + app.process_page(); + if (window.location.hash) + hash = window.location.hash; + if (hash) + app.scrollToPost(hash.substr(1)); + }); }); - utils.refreshTitle(url); - }, url, template); return true; diff --git a/public/src/utils.js b/public/src/utils.js index c99fbb99a3..353a8ab177 100644 --- a/public/src/utils.js +++ b/public/src/utils.js @@ -129,7 +129,7 @@ return tags; }, - refreshTitle: function(url) { + refreshTitle: function(url, callback) { if (!url) { var a = document.createElement('a'); a.href = document.location; @@ -139,6 +139,10 @@ socket.emit('api:meta.buildTitle', url, function(title, numNotifications) { document.title = (numNotifications > 0 ? '(' + numNotifications + ') ' : '') + title; + if (callback) { + callback(); + } + notificationIcon = notificationIcon || document.querySelector('.notifications a i'); if (numNotifications > 0 && notificationIcon) notificationIcon.className = 'icon-circle active'; });