diff options
| author | 2013-11-03 19:22:59 +0100 | |
|---|---|---|
| committer | 2013-11-04 23:31:36 +0100 | |
| commit | 231516f5238b6023001bed548569077c61411a4e (patch) | |
| tree | 2265c174152f3bc7c0fbe49f5a776bc4ca5c3020 /public/scripts/global_view.js | |
| parent | b23d66ec360208cf1e1d8ee2fc3bebf25997d9fa (diff) | |
Grosse optimisation JavaScript
* 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.
Diffstat (limited to 'public/scripts/global_view.js')
| -rw-r--r-- | public/scripts/global_view.js | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/public/scripts/global_view.js b/public/scripts/global_view.js index bc2254011..8e86fcb21 100644 --- a/public/scripts/global_view.js +++ b/public/scripts/global_view.js @@ -1,13 +1,14 @@ +"use strict"; var panel_loading = false; function load_panel(link) { - if(panel_loading) { + if (panel_loading) { return; } panel_loading = true; - $.get (link, function (data) { + $.get(link, function (data) { $("#panel").append($(".nav_menu, #stream .day, #stream .flux, #stream .pagination", data)); $("#panel .nav_menu").children().not("#nav_menu_read_all").remove(); @@ -21,14 +22,14 @@ function load_panel(link) { // force le démarrage du scroll en haut. // Sans ça, si l'on scroll en lisant une catégorie par exemple, // en en ouvrant une autre ensuite, on se retrouve au même point de scroll - $("#panel").scrollTop (0); + $("#panel").scrollTop(0); panel_loading = false; }); } function init_close_panel() { - $("#panel .close").click(function() { + $("#panel .close").click(function () { $("#panel").html('<a class="close" href="#"><i class="icon i_close"></i></a>'); init_close_panel(); @@ -38,7 +39,7 @@ function init_close_panel() { } function init_global_view() { - $("#stream .category a").click(function() { + $("#stream .category a").click(function () { var link = $(this).attr("href"); load_panel(link); @@ -51,8 +52,9 @@ function init_global_view() { init_stream_delegates($("#panel")); } - -$(document).ready (function () { +if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', function () { init_global_view(); init_close_panel(); -});
\ No newline at end of file + }, false); +} |
