From 231516f5238b6023001bed548569077c61411a4e Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 3 Nov 2013 19:22:59 +0100 Subject: Grosse optimisation JavaScript MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fusion de endless_mode.js dans main.js car endless_mode.js est toujours chargé et assez petit. * Suppression des changements de style en JavaScript lors du chargement (genre boucle de .hide(), ou d'ajout de classe ".stick") et implémentation en PHP + CSS à la place. * Chargement JavaScript asynchrone (defer + async) pour de meilleurs performances. * Utilisation préférable des événements globaux plutôt que des événements pour chaque élément avec jQuery.on(events, selector) pour un chargement plus rapide et moins de mémoire utilisée. * Optimisation manuelle du JavaScript (sélecteurs CSS plus performants, méthodes jQuery plus appropriées, etc.). * Désactivation de init_img() qui était coûteux, lancé à un moment où les images ne sont de toute manière pas encore chargées, et qui n'apporte rien car il y a déjà un img {max-width:100%} en CSS. * JavaScript en mode strict. * Enfin, passage du code JavaScript dans JSLint et du coup nombreuses corrections (syntaxe, variables, méthodes dépréciées...). * Devrait permettre de fermer https://github.com/marienfressinaud/FreshRSS/issues/121 * Au passage, quelques simplifications CSS pour de meilleures performances. --- app/views/javascript/main.phtml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'app/views/javascript/main.phtml') diff --git a/app/views/javascript/main.phtml b/app/views/javascript/main.phtml index 82ed8ff18..7adb57037 100644 --- a/app/views/javascript/main.phtml +++ b/app/views/javascript/main.phtml @@ -1,13 +1,13 @@ conf->markWhen (); echo 'var ', - 'hide_posts=', $this->conf->displayPosts () === 'no' ? 'true,' : 'false,', - 'hide_posts=', $this->conf->displayPosts () === 'no' ? 'true,' : 'false,', - 'auto_mark_article=', $mark['article'] === 'yes' ? 'true,' : 'false,', - 'auto_mark_site=', $mark['site'] === 'yes' ? 'true,' : 'false,', - 'auto_mark_scroll=', $mark['scroll'] === 'yes' ? 'true,' : 'false,', - 'auto_load_more=', $this->conf->autoLoadMore () === 'yes' ? 'true,' : 'false,', - 'does_lazyload=', $this->conf->lazyload() === 'yes' ? 'true' : 'false', ";\n"; + 'hide_posts=', ($this->conf->displayPosts () === 'yes' || Request::param ('output') === 'reader') ? 'false' : 'true', + ',auto_mark_article=', $mark['article'] === 'yes' ? 'true' : 'false', + ',auto_mark_site=', $mark['site'] === 'yes' ? 'true' : 'false', + ',auto_mark_scroll=', $mark['scroll'] === 'yes' ? 'true' : 'false', + ',auto_load_more=', $this->conf->autoLoadMore () === 'yes' ? 'true' : 'false', + ',does_lazyload=', $this->conf->lazyload() === 'yes' ? 'true' : 'false', ";\n"; $s = $this->conf->shortcuts (); echo 'var shortcuts={', -- cgit v1.2.3