Changeset 104837 in spip-zone for _plugins_/z-core/trunk


Ignore:
Timestamp:
Jun 12, 2017, 1:11:53 PM (13 months ago)
Author:
placido@…
Message:

v 2.6.3
Correction : argument manquant dans la fonction triggerAjaxLoad()
L'usage du l'inclure dynamique n'apporte pas grandchose, on en profite pour passer à un fichier statique minifié sur une seule ligne

Location:
_plugins_/z-core/trunk
Files:
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/z-core/trunk/javascript/zapl.scripts.js

    r104836 r104837  
    1 [(#HTTP_HEADER{Content-type:application/javascript[; charset=(#CHARSET)]})]
    2 
    3 [//(#REM) equivalent de $.get en pur js]
     1// equivalent de $.get en pur js
    42var getAjax = function(url, success) {
    5     var r = new XMLHttpRequest();
    6     r.open('GET', url);
    7     r.onreadystatechange = function() {
    8         if (r.readyState>3 && r.status==200) success(r.responseText);
    9     };
    10     r.send();
    11     return r;
    12 }
    13 [//(#REM) Peupler le zbloc et dire qu'il est prêt ]
     3                var r = new XMLHttpRequest();
     4                r.open('GET', url);
     5                r.onreadystatechange = function() {
     6                                if (r.readyState > 3 && r.status == 200) success(r.responseText);
     7                };
     8                r.send();
     9                return r;
     10};
     11// peupler le zbloc et dire qu'il est prêt
    1412function getZapl(bloc) {
    15         var myurl = window.location + "";
    16         myurl = myurl.split('#');
    17         myurl = myurl[0] + ((myurl[0].indexOf("?")>0)?"&":"?") + "var_zajax=" + bloc;
    18         getAjax(myurl, function(data){
    19                 var el = document.querySelector("#zapl-"+ bloc);       
    20                 var newEl = document.createElement('div');
    21                 newEl.innerHTML = data;
    22                 el.parentNode.replaceChild(newEl, el);
    23                 [//(#REM) un array qui liste les zblocs traités ]
    24                 if(!window.zapl_list) {window.zapl_list = [];} 
    25                 window.zapl_list.push(bloc);   
    26         });
     13                var myurl = window.location + "";
     14                myurl = myurl.split('#');
     15                myurl = myurl[0] + ((myurl[0].indexOf("?") > 0) ? "&" : "?") + "var_zajax=" + bloc;
     16                getAjax(myurl, function(data) {
     17                                var el = document.querySelector("#zapl-" + bloc);
     18                                var newEl = document.createElement('div');
     19                                newEl.innerHTML = data;
     20                                el.parentNode.replaceChild(newEl, el);
     21                                // un array qui liste les zblocs traités
     22                                if (!window.zapl_list) {
     23                                                window.zapl_list = [];
     24                                }
     25                                window.zapl_list.push(bloc);
     26                });
    2727};
    2828
    29 [//(#REM) attendre jQuery et les zblocs pour déclencher AjaxLoad ]
     29// attendre jQuery et les zblocs pour renclencher AjaxLoad
    3030window.zapl_loop_index = 0;
    3131zapl_loop = setInterval(function() {
    32 [//(#REM) DEBUG
    33                 console.log("loop index:" +  window.zapl_loop_index);
    34                 console.log("jQuery ?:" + (typeof jQuery.spip.triggerAjaxLoad !== 'undefined'));
    35                 console.log("Nb zapl traités:" + window.zapl_list.length );
    36 //]
    37     if ((typeof jQuery.spip === 'object')
    38                 && (typeof jQuery.spip.triggerAjaxLoad === 'function')
    39                 && (typeof window.zapl_list !== 'undefined')
    40                 && !(document.querySelectorAll("[id^='zapl-']").length) ) {
    41                 clearInterval(zapl_loop);
    42                         jQuery.spip.triggerAjaxLoad();
    43                                         var h = window.location.hash;
    44                                         if (h) {
    45                         [//(#REM) $b correspond à la selection jQuery des zbloc ]       
    46                         var $b = $();
    47                                 window.zapl_list.forEach(function(e){
    48                                         $b=$b.add(e);
    49                                 });
    50                                                 if ($b.find(h)[0]) {
     32                //console.log("loop index : " +  window.zapl_loop_index + " - jQuery chargé ? : " + (typeof jQuery.spip.triggerAjaxLoad !== 'undefined') + " - Nb zapl traités:" + window.zapl_list.length );
     33        if (  (typeof jQuery.spip.triggerAjaxLoad === 'function') &&
     34                                (typeof window.zapl_list !== 'undefined') &&
     35                                !(document.querySelectorAll("[id^='zapl-']").length) ) {
     36                        clearInterval(zapl_loop);
     37                        var h = window.location.hash;
     38                        if (h) {
     39                                        // $b correspond à la selection jQuery des zblocs
     40                                        var $b = $();
     41                                        window.zapl_list.forEach(function(e) {
     42                                                        $b = $b.add(e);
     43                                        });
     44                                        if ($b.find(h)[0]) {
    5145                                                        jQuery(h).positionner(true);
    52                                                 }               
    5346                                        }
    54                 return;
    55     }
    56     [//(#REM) Au dela de 20 sec ... ]
    57     else if (window.zapl_loop_index < 200){
    58          window.zapl_loop_index++;
    59     }
    60     [//(#REM) ... auto-débraillage ]
    61     else {
    62         clearInterval(zapl_loop);
    63     }
     47                        }
     48                        jQuery.spip.triggerAjaxLoad(document);
     49                        return;
     50                }
     51                // Au dela de 20 sec ...
     52                else if (window.zapl_loop_index < 200) {
     53                                window.zapl_loop_index++;
     54                }
     55                // ... auto-débraillage
     56                else {
     57                                clearInterval(zapl_loop);
     58                }
    6459
    6560}, 100);
  • _plugins_/z-core/trunk/paquet.xml

    r104036 r104837  
    22        prefix="Zcore"
    33        categorie="outil"
    4         version="2.6.2"
     4        version="2.6.3"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
  • _plugins_/z-core/trunk/zcore_pipelines.php

    r104327 r104837  
    166166
    167167/**
    168  * Ajouter les scripts pour getZaplBloc() dans head, directement, sans src
     168 * Ajouter les scripts pour getZaplBloc()
    169169 * Ajouter le inc-insert-head du theme si il existe
    170170 *
     
    174174 */
    175175function zcore_insert_head($flux) {
    176         // on utilise recuperer_fond()  car on veut pouvoir s'affranchir de jQl pour agir plus tôt
    177         if ( defined('_Z_AJAX_PARALLEL_LOAD_OK') AND $fond = recuperer_fond('javascript/zapl.scripts.js', array(), array('ajax' => false) )) {
    178                 $flux = "\n<script type=\"text/javascript\">\n" . compacte($fond,"js") . "</script>\n". $flux;
     176
     177        // insertion du script pour le chargement parallelisé des zblocs (ZAPL)
     178        // mode "one-liner" car on veut rester hors de la compression des js ou du chargement différe jQl pour agir plus vite.
     179        if ( defined('_Z_AJAX_PARALLEL_LOAD_OK') AND ($file = find_in_path('javascript/zapl.scripts.js')) ) {
     180                include_spip('filtres/compresseur');
     181                if (function_exists('compacte')) {
     182                        $file = compacte($file, 'js');
     183                }
     184                lire_fichier($file, $js);
     185                $flux .= "\n".'<script type="text/javascript">/*<![CDATA[*/'. str_replace(PHP_EOL,'',$js) .'/*]]>*/</script>'."\n";
    179186        }
    180187
     
    194201 */
    195202function zcore_insert_head_css($flux) {
     203
    196204        include_spip('public/styliser_par_z');
    197205        $contenu = z_blocs(false);
Note: See TracChangeset for help on using the changeset viewer.