MediaWiki:Common.js: differenze tra le versioni

nessun oggetto della modifica
(lascio commenti che possono servire a chi verrà dopo)
Nessun oggetto della modifica
 
(20 versioni intermedie di uno stesso utente non sono mostrate)
Riga 2:
 
/* AGGIUNTE NOSTRE */
/** Per Template:Alert, che mostra un popup minaccioso
* E anche per alertlink
*/
 
//mette tutti gli elementi che sono in span di classe alert-load e alert-link in due liste separate
 
function AbilitaAlert()
{
var spanList = document.getElementsByClassName("alert-load");
var alertLinkList = document.getElementsByClassName("alert-link");
var i;
if(window.disableNonciAlert)
{
return;
}
if(spanList.length) //Se ci sono alert da visualizzare cicla dentro la lista, visualizzandoli in ordine
{
for(i=0;i<spanList.length;i=i+1)
{
alert(spanList[i].textContent);
}
}
if(!alertLinkList.length)
{
return;
}
for(i=0;i<alertLinkList.length;i=i+1) //Se ci sono alertlink, invece, cicla tra quelli presenti nella lista e modifica l'attributo onclick, in modo che esegua la funzione desiderata dopo averci cliccato sopra
{
alertLinkList[i].setAttribute('onclick',"alert(\"" +alertLinkList[i].title+ "\")");
}
}
$(AbilitaAlert);
 
/** Per Template:Sottotitolo, che cambia il sottotitolo della pagina
Line 73 ⟶ 42:
}
var IP = undefined;
$.ajax({ //chiama la API MediaWiki tramite AJAX per trovare i dati dell'utente che sta leggendo la pagina, componendo un URL con dei parametri
url: wgServer + wgScriptPath + '/api.php?action=query&meta=userinfo&format=xml', //nome sito + path di base per script e altre cose + riferimento all'API, ad una azione che deve compiere (una query) e a due parametri della suddetta
dataType: 'xml',
Line 94 ⟶ 63:
$(usernameReplace);
 
/** Supporto al Template:Libro**/
function LibroUpdate(libro,num){
var currPag=document.getElementById(''+libro.id + libro.currPage);
var newPag;
libro.currPage+=num;
newPag=document.getElementById(''+libro.id + libro.currPage);
if(newPag){
currPag.style.display="none";
newPag.style.display="inherit";
}
else libro.currPage-=num;
}
 
function attivaFrecce(libro){
var frecciaP=document.getElementById(libro.id +"Prev");
var frecciaN=document.getElementById(libro.id +"Next");
libro.currPage=1;
frecciaP.addEventListener('click',function(e){LibroUpdate(libro,-1)});
frecciaN.addEventListener('click',function(e){LibroUpdate(libro,1);});
}
 
function AttivaLibro(){
var bookList=document.getElementsByClassName("libroFlag");
if(bookList.length){
for(var i=0;i<bookList.length;i++){
attivaFrecce(bookList[i]);
}
}
}
$(AttivaLibro);
 
/**Supporto al Template:Blink **/
function blink()
{
var blinkers=window.blinker;
for(var i=0;i<blinkers.length;i++)
{
if(blinkers[i].style.visibility=="inherit"){
blinkers[i].style.visibility="hidden";
} else {
blinkers[i].style.visibility="inherit";
}
}
}
function enableBlink(){
var blinkers=document.getElementsByClassName("blink");
if(blinkers){
window.blinker=blinkers;
setInterval(blink,125); //Sotto i 125 circa non funziona, per ragioni arcane
}
}
$(enableBlink);
 
/** Per Template:Alert, che mostra un popup minaccioso
* E anche per alertlink
*/
 
//mette tutti gli elementi che sono in span di classe alert-load e alert-link in due liste separate
 
function AbilitaAlert()
{
var spanList = document.getElementsByClassName("alert-load");
var alertLinkList = document.getElementsByClassName("alert-link");
var i;
if(window.disableNonciAlert)
{
return;
}
if(spanList.length) //Se ci sono alert da visualizzare cicla dentro la lista, visualizzandoli in ordine
{
for(i=0;i<spanList.length;i=i+1)
{
alert(spanList[i].textContent);
}
}
if(!alertLinkList.length)
{
return;
}
for(i=0;i<alertLinkList.length;i=i+1) //Se ci sono alertlink, invece, cicla tra quelli presenti nella lista e modifica l'attributo onclick, in modo che esegua la funzione desiderata dopo averci cliccato sopra
{
alertLinkList[i].setAttribute('onclick',"alert(\"" +alertLinkList[i].title+ "\")");
}
}
$(AbilitaAlert);
/** Per il Template:Abbr */
function attivaTooltip(){
var tooltips=document.getElementsByClassName("noncitip");
for (var i=0;i<tooltips.length;i++){
tooltips[i].onmouseover=function(e){ // nota nerd:currentTarget fa in modo che l'evento venga catturato SOLO sull'elemento con classe "noncitip", a cui è attaccato l'handler, e non su qualunque cosa possa essere presente al suo interno
var testo=e.currentTarget.getElementsByClassName("testotip")[0];
testo.style.display="block";
testo.style.bottom=(document.body.scrollHeight - window.scrollY - document.body.clientHeight) + "px";
};
tooltips[i].onmouseout=function(e){
var testo=e.currentTarget.getElementsByClassName("testotip")[0];
testo.style.display="none";
};
}
}
 
$(attivaTooltip);
/** SCOPIAZZATO DA WIKIPEDIA: https://it.wikipedia.org/w/index.php?title=MediaWiki:Common.js&oldid=102712037 **/
 
Picciotti, Nerdoni, Rullatori, sloggiatori
10 051

contributi