Utente:Alex brollo/GetIndexData.js
Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
- Opera: premi Ctrl-F5.
(function () {
var nomePaginaTipo="";
var html="";
var pdxpc = []; // pdxpc è una lista semplice in cui la pagina djvu è l'indice
var pd = ""; // pd è pagina djvu
var pc = ""; // pc è pagina cartacea
//mw.currentIndex="Index:"+wgPageName.substring("Wikisource:Thumbs/".length);
/*if (wgCanonicalNamespace==="Index") {
mw.currentIndex=wgPageName;
}
else { try {
nomePaginaTipo=$(".numeropagina a").eq(0).attr("title");
html=$.ajax({
url: wgServer+"/w/index.php?action=render&title=" + nomePaginaTipo,
async: false
}).responseText;
}
catch(err) { console.log("Errore:Nessuna pagina Pagina transclusa"); return;
}
} */
mw.currentIndex=wgPageName;
// lettura dell'html della pagina Indice corrispondente
var html=$("#content");
// estrazione della lista dei link alle pagine
var links = $(".pagineDellEdizione a", html); //
// estrazione di pd e pc dai link e assegnazione a una lista in cui l'indice è pd e il valore è pc
for (i = 0; i < links.length; i += 1) {
pd = $(links[i]).attr("title").match(/\/(\d+) */)[1]*1;
try {
pc = [$.trim($(links[i]).text().match(/^0*(.+)/)[1]),$(links[i]).attr("class").match(/quality(\d)/)[1]];
}
catch(err) {
pc = [$.trim($(links[i]).text().match(/^0*(.+)/)[1]),""];
}
pdxpc[pd] = pc;
}
// la lista viene popolata con stringhe vuote se vi sono dei "buchi"
for (i = 1; i < pdxpc.length - 1; i += 1) {
if (pdxpc[i] === undefined) pdxpc[i] = ["",""];
}
// costuisco un array a chiave con chiave pc
var pcxpd={};
for (i = 1; i < pdxpc.length - 1; i += 1) {
pcxpd[pdxpc[i][0]]={num:i,qual:pdxpc[i][0]};
}
var linksc=$(".tableItem", html);
var itemList=[];
for (var item=0; item<linksc.length; item+=1){
itemEl={};
itemEl.ns0Name=$("a",linksc.eq(item)).first().attr("title").replace(" (page does not exist)","");
itemEl.ns0Title=$("a",linksc.eq(item)).first().text();
itemEl.PageName=$("a",linksc.eq(item)).last().attr("title").replace(" (page does not exist)","");
itemEl.PageTitle=$("a",linksc.eq(item)).last().text();
itemList.push(itemEl);
}
//return [pdxpc,pcxpd,itemList];
var baseUrl=$(".thumbinner img", html).attr("src").replace(/\/page\d+/,"/page§pagenum§").replace("250px","200px");
mw.currentIndexData=[pdxpc,pcxpd,itemList,baseUrl];
console.log("OK: caricati dati indice "+mw.currentIndex);
})();