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);
})();