aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-11-08 10:13:21 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-11-08 10:13:21 +0100
commit5e2023392ecc648d1ddc73d84f5376f4d110c37f (patch)
treed1094ce8ad3b0b791cb0ccdb8889b64d3c9b304f
parent144ff6fb33ba2d49134a6517bfcee3252c2738ce (diff)
Meilleur async pour Persona
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/235
-rw-r--r--app/views/javascript/main.phtml2
-rw-r--r--public/scripts/main.js31
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() {
//<persona>
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() {
//</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);