Changeset 59867 in spip-zone for _plugins_/inclure-ajaxload/javascript


Ignore:
Timestamp:
Mar 28, 2012, 10:51:54 AM (9 years ago)
Author:
marcimat@…
Message:

Évolution du plugin inclure-ajaxload en encapsulant le javascript dans une fonction, que l'on rappelle elle-même lors d'un chargement ajax : de la sorte si une inclusion {ajaxload} est chargée dans un squelette lui-même ajouté en ajax (par exemple avec l'ajax parallèle des blocs de ZPIP), l'inclusion sera réellement faite.

Pour éviter une récursion, les classes .includeajax et .includestatic sont renommées lorsque le js les a traitées. On les suffixe de _load pendant le chargement, et de _loaded une fois le chargement réalisé.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/inclure-ajaxload/javascript/inclure-ajaxload.js

    r45190 r59867  
    11jQuery(document).ready(function($) {
    2         $('.includeajax').each(function() {
    3                 var me = $(this);
    4                 var env = $('a', this).attr('rel');
    5                 if (env) {
    6                         $('a', this).attr('href','#');
    7                         $.ajax({
    8                                 url: "spip.php",
    9                                 type: "GET",
    10                                 cache: true,
    11                                 data: { var_ajax: 'recuperer', var_ajax_env: env },
    12                                 success: function(c) { me.html(c); }
    13                         });
    14                 }
    15         });
    16         $('.includestatic').each(function() {
    17                 var me = $(this);
    18                 var env = $('a', this).attr('rel');
    19                 if (env) {
    20                         $('a', this).attr('href','#');
    21                         $.ajax({
    22                                 url: env,
    23                                 type: "GET",
    24                                 cache: true,
    25                                 success: function(c) { me.html(c); }
    26                         });
    27                 }
    28         });
     2        function charger_inclure_ajaxload() {
     3                $('.includeajax').each(function() {
     4                        var me = $(this);
     5                        var env = $('a', this).attr('rel');
     6                        if (env) {
     7                                $('a', this).attr('href','#');
     8                                $.ajax({
     9                                        url: "spip.php",
     10                                        type: "GET",
     11                                        cache: true,
     12                                        data: { var_ajax: 'recuperer', var_ajax_env: env },
     13                                        success: function(c) { me.html(c).removeClass('includeajax_load').addClass('includeajax_loaded'); }
     14                                });
     15                        }
     16                }).removeClass('includeajax').addClass('includeajax_load');
     17                $('.includestatic').each(function() {
     18                        var me = $(this);
     19                        var env = $('a', this).attr('rel');
     20                        if (env) {
     21                                $('a', this).attr('href','#');
     22                                $.ajax({
     23                                        url: env,
     24                                        type: "GET",
     25                                        cache: true,
     26                                        success: function(c) {  me.html(c).removeClass('includestatic_load').addClass('includestatic_loaded'); }
     27                                });
     28                        }
     29                }).removeClass('includestatic').addClass('includestatic_load');
     30        }
     31        charger_inclure_ajaxload();
     32        onAjaxLoad(charger_inclure_ajaxload);
    2933});
Note: See TracChangeset for help on using the changeset viewer.