MediaWiki:Common.js: differenze tra le versioni

nessun oggetto della modifica
(implementazione (forse) per Alert e Sottotitolo)
Nessun oggetto della modifica
 
(37 versioni intermedie di 2 utenti non 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()
{
var $FakeText=$("#SubTitleText");
var $Target=$("#siteSub");
if($FakeText.length && $Target.length)
FakeText=document.getElementById("SubTitleText").textContent;
{
Target=document.getElementById("siteSub");
$Target.textContent=html($FakeText.html());
}
}
$(AbilitaSottotitolo);
Line 37 ⟶ 23:
*/
 
//mw.loader.load( '/w/index.php?title=MediaWiki:Insertusername.js&action=raw&ctype=text/javascript' );
 
function usernameReplace() {
Line 47 ⟶ 33:
return;
}
var defaultText = '<DioAnonimo>';
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;
}
else {
spanList.text(defaultText);
}
var userPage = $('#pt-anonuserpage');
if(userPage.length > 0) {
var IP = $('a:first', userPage);
if(!IP.length) {
return;
}
spanList.each(function() {
if($(this).text() == defaultText) {
$(this).text(IP.text());
}
});
return;
}
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 85 ⟶ 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 **/
 
Line 215 ⟶ 291:
$realTitleBanner.hide();
$firstH1.html( $realTitle.html() );
document.title = $realTitle.text() + ' - Wikipedia';
}
}
Picciotti, Nerdoni, Rullatori, sloggiatori
9 936

contributi