Browse Source

La détection du nombre de zblocs basée sur la longueur de _Z_AJAX_PARALLEL_LOAD n'était pas fiable, un squelette n'inclut pas forcement tous les zblocs déclarés.

On fait le compte en js.
Concision du code, suppression fonction superflue.
pull/1/head
placido@roxing.net 6 years ago
parent
commit
2d60547a7a
  1. 38
      javascript/zapl.scripts.js.html

38
javascript/zapl.scripts.js.html

@ -2,22 +2,14 @@
[//(#REM) equivalent de $.get en pur js]
var getAjax = function(url, success) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onreadystatechange = function() {
if (xhr.readyState>3 && xhr.status==200) success(xhr.responseText);
var r = new XMLHttpRequest();
r.open('GET', url);
r.onreadystatechange = function() {
if (r.readyState>3 && r.status==200) success(r.responseText);
};
xhr.send();
return xhr;
r.send();
return r;
}
[//(#REM) lister les zblocs bien arrivés ]
var collectZaplList = function(bloc) {
if(!window.zapl_list) {
window.zapl_list = new Array();
}
window.zapl_list.push(bloc);
};
[//(#REM) Peupler le zbloc et dire qu'il est prêt ]
function getZapl(bloc) {
var myurl = window.location + "";
@ -28,31 +20,29 @@ function getZapl(bloc) {
var newEl = document.createElement('div');
newEl.innerHTML = data;
el.parentNode.replaceChild(newEl, el);
collectZaplList("#"+bloc);
[//(#REM) un array qui liste les zblocs traités ]
if(!window.zapl_list) {window.zapl_list = [];}
window.zapl_list.push(bloc);
});
};
[//(#REM) combien de zBloc attendus ? ]
var zapl_lmax = [(#EVAL{_Z_AJAX_PARALLEL_LOAD}|explode{","}|count)];
[//(#REM) attendre jQuery et les zblocs pour déclencher AjaxLoad ]
window.zapl_loop_index = 0;
zapl_loop = setInterval(function() {
[//(#REM) DEBUG
// console.log("loop :" + window.zapl_loop_index);
// console.log("function :" + (typeof jQuery.spip.triggerAjaxLoad !== 'undefined'));
// console.log("Array :" + (typeof window.zapl_list !== 'undefined'));
// console.log("Length :" + (window.zapl_list.length == zapl_lmax));
console.log("loop index:" + window.zapl_loop_index);
console.log("jQuery ?:" + (typeof jQuery.spip.triggerAjaxLoad !== 'undefined'));
console.log("Nb zapl traités:" + window.zapl_list.length );
//]
if ((typeof jQuery.spip === 'object')
&& (typeof jQuery.spip.triggerAjaxLoad === 'function')
&& (typeof window.zapl_list !== 'undefined')
&& (window.zapl_list.length == zapl_lmax) ) {
&& !(document.querySelectorAll("[id^='zapl-']").length) ) {
clearInterval(zapl_loop);
jQuery.spip.triggerAjaxLoad();
var h = window.location.hash;
if (h) {
[//(#REM) $b = correspond à la selection jQuery des zbloc ]
[//(#REM) $b correspond à la selection jQuery des zbloc ]
var $b = $();
window.zapl_list.forEach(function(e){
$b=$b.add(e);

Loading…
Cancel
Save