aboutsummaryrefslogtreecommitdiff
path: root/public/scripts/global_view.js
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-11-03 19:22:59 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-11-04 23:31:36 +0100
commit231516f5238b6023001bed548569077c61411a4e (patch)
tree2265c174152f3bc7c0fbe49f5a776bc4ca5c3020 /public/scripts/global_view.js
parentb23d66ec360208cf1e1d8ee2fc3bebf25997d9fa (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.js18
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);
+}