MediaWiki:Common.js: differenze tra le versioni

nessun oggetto della modifica
(Adesso il template USERNAME dovrebbe far vedere anche gli IP)
Nessun oggetto della modifica
 
(34 versioni intermedie di uno stesso utente non sono mostrate)
Riga 2:
 
/* AGGIUNTE NOSTRE */
/** Per Template:Alert, che mostra un popup minaccioso
*/
 
function AbilitaAlert()
{
var spanList = document.getElementsByClassName("alert-load");
var i;
if(!spanList.length)
{
return;
}
for(i=0;i<spanList.length;i=i+1)
{
alert(spanList[i].textContent);
}
}
$(AbilitaAlert);
 
/** Per Template:Sottotitolo, che cambia il sottotitolo della pagina
*/
 
//trova il template e il suo contenuto HTML e lo scambia con il sotto titolo del sito, identificato tramite ID
function AbilitaSottotitolo()
{
Line 38 ⟶ 23:
*/
 
//mw.loader.load( '/w/index.php?title=MediaWiki:Insertusername.js&action=raw&ctype=text/javascript' );
 
function usernameReplace() {
Line 49 ⟶ 34:
}
var defaultText = '<Anonimo>';
if(wgUserName) { //Se la variabile wgUserName ha un valore, significa che l'utente è loggato, e basta sostituirla dove previsto e uscire dalla funzione
if(wgUserName) {
spanList.text(wgUserName); //Questa funzione esiste solo se l'oggetto su cui la usi è generato in JQuery
return;
}
Line 57 ⟶ 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
$.ajax({
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',
async: false,
success: function(data) { //se la query ha buon fine ne estrae l'IP
IP = $('userinfo', data).attr('name');
}
Line 73 ⟶ 58:
}
});
$( ".appellativi" ).css( "display", "inherit" ); //dato che in questo punto ci arriva solo e slo se l'IP è stato estratto, posso tranquillamente rendere visibile l'appellativo per IP senza sminchiare niente lol
return;
}
$(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 176

contributi