From 5e2023392ecc648d1ddc73d84f5376f4d110c37f Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Fri, 8 Nov 2013 10:13:21 +0100 Subject: Meilleur async pour Persona MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Contribue à https://github.com/marienfressinaud/FreshRSS/issues/235 --- app/views/javascript/main.phtml | 2 +- public/scripts/main.js | 31 +++++++++++++++++++++++-------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/app/views/javascript/main.phtml b/app/views/javascript/main.phtml index 04b4a7337..662d86c80 100644 --- a/app/views/javascript/main.phtml +++ b/app/views/javascript/main.phtml @@ -26,4 +26,4 @@ echo ',url_freshrss="', _url ('index', 'index'), '",', 'url_login="', _url ('index', 'login'), '",', 'url_logout="', _url ('index', 'logout'), '",', - 'current_user_mail=', $mail, ';'; + 'current_user_mail=', $mail, ";\n"; diff --git a/public/scripts/main.js b/public/scripts/main.js index de1163070..150635f01 100644 --- a/public/scripts/main.js +++ b/public/scripts/main.js @@ -279,6 +279,13 @@ function init_column_categories() { } function init_shortcuts() { + if (!(window.shortcut && window.shortcuts)) { + if (window.console) { + console.log('FreshRSS waiting for sortcut.js…'); + } + window.setTimeout(init_persona, 50); + return; + } // Touches de manipulation shortcut.add(shortcuts.mark_read, function () { // on marque comme lu ou non lu @@ -506,6 +513,13 @@ function init_load_more() { // function init_persona() { + if (!(navigator.id)) { + if (window.console) { + console.log('FreshRSS waiting for Persona…'); + } + window.setTimeout(init_persona, 100); + return; + } $('a.signin').click(function() { navigator.id.request(); return false; @@ -562,12 +576,11 @@ function init_persona() { // function init_all() { - if (!(window.$ && window.shortcut && window.shortcuts && - ((!full_lazyload) || $.fn.lazyload) && navigator.id)) { + if (!(window.$ && window.url_freshrss && ((!full_lazyload) || $.fn.lazyload))) { if (window.console) { - console.log('Waiting for JS…'); + console.log('FreshRSS waiting for JS…'); } - window.setTimeout(init_all, 50); //Wait for all js to be loaded + window.setTimeout(init_all, 50); return; } $stream = $('#stream'); @@ -580,21 +593,23 @@ function init_all() { init_notifications(); init_actualize(); init_load_more(); - init_persona(); + if (window.current_user_mail) { + init_persona(); + } if (window.console) { - console.log('Init done.'); + console.log('FreshRSS init done.'); } } if (document.readyState && document.readyState !== 'loading') { if (window.console) { - console.log('Immediate init…'); + console.log('FreshRSS immediate init…'); } init_all(); } else if (document.addEventListener) { document.addEventListener('DOMContentLoaded', function () { if (window.console) { - console.log('Waiting for DOMContentLoaded…'); + console.log('FreshRSS waiting for DOMContentLoaded…'); } init_all(); }, false); -- cgit v1.2.3