Utilisateur:Kipmaster/monobook.js
Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
- Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
- Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
- Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
// helper functions
// works in FF and Opera, definitely not in IE, other not tested
// browser has to support XPath
var $ = function(id) { return document.getElementById(id); };
var $$ = function(css) { return $x('//*[contains(@class,"'+css+'")]'); };
var $x = function(exp, node) {
node = node || document;
var r = document.evaluate(exp, node, null, 0, null);
switch (r.resultType) {
case 1: return r.numberValue;
case 2: return r.stringValue;
case 3: return r.booleanValue;
case 4: {
var a = [];
while(i = r.iterateNext()) a.push(i);
return a;
}
}
};
// use other format for [[Special:IndexPages]], only hard nurmbers
// only start, have to check something
if (wgCanonicalSpecialPageName == 'IndexPages') {
addOnloadHook(function() {
// where to get the data and the array itself
var where = $x('//ol[@class="special"]')[0];
var data = new Array();
// data is stored in the td-tags, first 3 are shit, extract data to data array
var tds = $x('//td', where);
for (var i = 0; ((i+1)*9)+3 <= tds.length; i++) {
var n = (i*9)+3;
data[i] = new Array(8);
data[i].href = tds[n].firstChild.href;
data[i].name = tds[n].firstChild.innerHTML;
data[i].pages = parseInt(/(\d+)/.exec(tds[n+1].innerHTML));
data[i].q4 = (tds[n+4].width ? parseInt(tds[n+4].width) : 0);
data[i].q3 = (tds[n+5].width ? parseInt(tds[n+5].width) : 0);
data[i].q2 = (tds[n+6].width ? parseInt(tds[n+6].width) : 0);
data[i].q1 = (tds[n+7].width ? parseInt(tds[n+7].width) : 0);
data[i].q0 = (tds[n+8].width ? parseInt(tds[n+8].width) : 0);
};
// delete list and create own
where.innerHTML = '';
var table = document.createElement('table');
table.setAttribute('style','background-color:transparent; width:100%;');
var tr = new Array();
var th = new Array(9);
var text = ['Livre','Pages','NA','-','Pb','1','2','3','Total']
tr[0] = document.createElement('tr');
for (i in text) {
th[i] = document.createElement('th');
th[i].innerHTML = text[i];
tr[0].appendChild(th[i]);
}
tr[0].setAttribute('style','text-align:left;');
for (var i = 0; i < data.length; i++) {
tr[i+1] = document.createElement('tr');
var td = new Array(9);
for (var j = 0; j < 9; j++) { td[j] = document.createElement('td'); }
var a = document.createElement('a');
a.innerHTML = data[i].name;
a.href = data[i].href;
td[0].appendChild(a);
td[0].setAttribute('style','font-weight:bold;');
td[1].innerHTML = data[i].pages;
td[2].innerHTML = data[i].pages - data[i].q0 - data[i].q1 - data[i].q2 - data[i].q3 - data[i].q4;
td[3].innerHTML = data[i].q0;
td[3].setAttribute('class','quality0');
td[4].innerHTML = data[i].q2;
td[4].setAttribute('class','quality2');
td[5].innerHTML = data[i].q1;
td[5].setAttribute('class','quality1');
td[6].innerHTML = data[i].q3;
td[6].setAttribute('class','quality3');
td[7].innerHTML = data[i].q4;
td[7].setAttribute('class','quality4');
// td[8].innerHTML = Math.round((data[i].q1 + (data[i].q3 * 2) + (data[i].q4 * 3)) * 100 / (data[i].pages * 3)) +'%';
td[8].innerHTML = Math.round((data[i].q4 + data[i].q0) * 100 / (data[i].pages )) +'%';
td[8].setAttribute('style','font-weight:bold;');
for (var j = 0; j < 9; j++) { tr[i+1].appendChild(td[j]); }
}
for (var i = 0; i < tr.length; i++) { table.appendChild(tr[i]); }
where.appendChild(table);
});
};