MediaWiki:Common.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.
/* Any JavaScript here will be loaded for all users on every page load. */
console.log('Common.js')
mw.loader.using('mediawiki.util', function() {
console.log("Common.js loading custom functions");
// CODICE PER IL TRANSLATE BUTTON
function addTranslateButton() {
// Trova l'ul con la classe 'vector-menu-content-list' figlio di 'p-views'
const pTb = $('#p-tb .vector-menu-content-list');
if (pTb.length) {
console.log("p-views list found");
// Ottieni la lingua del browser
const userLang = navigator.language || navigator.userLanguage;
const targetLanguage = userLang.split('-')[0]; // Prendi solo la parte principale della lingua (es. "it" da "it-IT")
// Crea il collegamento per la traduzione
const translateLink = $('<a>', {
href: '#',
text: 'Traduci Pagina',
id: 'translate-page-link',
click: function(event) {
event.preventDefault();
const currentUrl = window.location.href;
const translateUrl = "https://translate.google.com/translate?hl=&sl=auto&tl=" + targetLanguage + "&u=" + encodeURIComponent(currentUrl);
window.open(translateUrl, '_blank');
console.log("Link clicked, translating to: " + targetLanguage);
}
});
// Crea l'elemento <li> con le classi specificate
const translateListItem = $('<li>', {
class: 'vector-tab-noicon mw-list-item'
}).append(translateLink);
// Aggiungi il nuovo <li> alla lista
translateListItem.prependTo(pTb);
console.log("Translate link added to p-views list");
// Pulisce l'intervallo una volta che il bottone è stato aggiunto
clearInterval(translateButtonIntervalId);
} else {
console.log("p-views list not found, retrying...");
}
}
// Controlla ogni 500ms fino a quando l'elemento non viene trovato
const translateButtonIntervalId = setInterval(addTranslateButton, 500);
// DISABLED
/* // CODICE PER IL BOTTONE FACEBOOK
function addFacebookButton() {
// Trova l'ul con id 'footer-icons' e l'elemento 'footer-poweredbyico'
const footerIconsList = $('#footer-icons');
const poweredByItem = $('#footer-poweredbyico');
if (footerIconsList.length && poweredByItem.length) {
console.log("footer-icons list and poweredby item found");
// Crea il collegamento per Facebook con l'icona
const facebookLink = $('<a>', {
href: 'https://www.facebook.com/visage.music1/',
target: '_blank', // Apri il link in una nuova scheda
title: 'Seguici su Facebook'
}).append($('<img>', {
src: 'https://upload.wikimedia.org/wikipedia/commons/b/b9/2023_Facebook_icon.svg', // URL dell'icona di Facebook
alt: 'Facebook',
style: 'width: 24px; height: 24px;' // Stili per dimensionare l'icona
}));
// Crea l'elemento <li> per l'icona di Facebook
const instagramListItem = $('<li>', {
class: 'footer-icon-item',
style: 'margin-right: 5px;'
}).append(facebookLink);
// Inserisci l'elemento <li> di Facebook prima dell'elemento 'footer-poweredbyico'
instagramListItem.insertBefore(poweredByItem);
console.log("Facebook link added to footer-icons list");
// Pulisce l'intervallo una volta che il bottone è stato aggiunto
clearInterval(facebookButtonIntervalId);
} else {
console.log("footer-icons list or poweredby item not found, retrying...");
}
}
// Controlla ogni 500ms fino a quando l'elemento non viene trovato
const facebookButtonIntervalId = setInterval(addFacebookButton, 500);
// CODICE PER IL BOTTONE INSTAGRAM
function addInstagramButton() {
// Trova l'ul con id 'footer-icons' e l'elemento 'footer-poweredbyico'
const footerIconsList = $('#footer-icons');
const poweredByItem = $('#footer-poweredbyico');
if (footerIconsList.length && poweredByItem.length) {
console.log("footer-icons list and poweredby item found");
// Crea il collegamento per Instagram con l'icona
const instagramLink = $('<a>', {
href: 'https://www.instagram.com/visage_music/',
target: '_blank', // Apri il link in una nuova scheda
title: 'Seguici su Instagram'
}).append($('<img>', {
src: 'https://upload.wikimedia.org/wikipedia/commons/9/95/Instagram_logo_2022.svg', // URL dell'icona di Instagram
alt: 'Instagram',
style: 'width: 24px; height: 24px;' // Stili per dimensionare l'icona
}));
// Crea l'elemento <li> per l'icona di Instagram
const instagramListItem = $('<li>', {
class: 'footer-icon-item',
style: 'margin-right: 5px;'
}).append(instagramLink);
// Inserisci l'elemento <li> di Instagram prima dell'elemento 'footer-poweredbyico'
instagramListItem.insertBefore(poweredByItem);
console.log("Instagram link added to footer-icons list");
// Pulisce l'intervallo una volta che il bottone è stato aggiunto
clearInterval(instagramButtonIntervalId);
} else {
console.log("footer-icons list or poweredby item not found, retrying...");
}
}
// Controlla ogni 500ms fino a quando l'elemento non viene trovato
const instagramButtonIntervalId = setInterval(addInstagramButton, 500); */
});