MediaWiki:Common.js
Questo è il JavaScript di tutti gli utenti. Ogni modifica a questa pagina deve essere prima proposta nella sua pagina di discussione o al Lounge.
I cambiamenti sono visibili già dopo pochi minuti e gli errori fatti qui possono compromettere l'intero wiki, quindi assicurati di verificare quello che inserisci. Vari test possono essere effettuati nel tuo common.js o nel file skin specifico per JS. |
- Firefox / Safari: tenere premuto il tasto delle maiuscole e fare clic su Ricarica, oppure premere Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premere Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Internet Explorer: tenere premuto il tasto Ctrl mentre si fa clic su Refresh, oppure premere Ctrl-F5
- Opera: svuotare completamente la cache dal menu Strumenti → Preferenze
// Patch per nascondere il toc standard in presenza di pagebanner durante le preview
if ( mw.config.get( 'wgAction' ) === 'submit' ) {
$('.ext-wpb-pagebanner').parent().parent().find('#toc').hide();
}
//Consente di utilizzare il [[Template:...]] senza specificare il parametro section
$('.avviso-testo').find('a[href$="§ion="]').attr('href', function(i, val){
var sectionHref = $(this).closest('table').prev('h2').find('.mw-editsection a').attr('href') || '';
return val + sectionHref.split('§ion=')[1];
});
// Preleva i dati delle altre wiki per la sola pagina di Statistiche (per non appesantire inutilmente le altre pagine)
if ( mw.config.get('wgPageName') === 'Wikivoyage:Statistiche' ) {
importScript('MediaWiki:Statistiche.js');
}
// Preleva i dati delle altre wiki per la sola pagina delle ultime notizie (per non appesantire inutilmente le altre pagine)
if ( mw.config.get('wgPageName') === 'Ultime_notizie' ) {
importScript('MediaWiki:Wikinews.js');
}
//Carico gli script solo nelle pagine di ricerca
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' || ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgCanonicalSpecialPageName' ) === false ) ) {
// Aggiunge un menù a tendina che permette la ricerca anche con altri Motori di Ricerca
importScript('MediaWiki:OtherSearchEngine.js');
//Ricerca in Wikidata
mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript');
}
//Centralizzo la visualizzazione dell'indicatore GPX per snellire l'elaborazione delle pagine in presenza di molti listing
//L'indicatore GPX va mostrato in presenza di listing o tracciati GPX
$(function() {
// Include [[Template:Indicatore GPX]] on all pages, but only make it visible if there are geo listings.
var hasListing = $('.geo, #GPX-track').length;
if (hasListing) $('#mw-indicator-GPX').addClass('GPX-show');
});
// Patch per Extension:Kartographer che blocca il conteggio dei listing a 99
// Da rimuovere quando sarà risolto il bug https://phabricator.wikimedia.org/T141335
function fix99() {
$(".mw-kartographer-maplink:contains('99')").each(function(){
while( typeof $(this).attr('href').split('maplink/')[1] === "undefined" ){
// maplink not yet loaded, try again in one second
setTimeout(fix99, 1000);
return;
}
var listingNum = $(this).attr('href').split('maplink/')[1];
var prevNum;
var prevListing;
while ( (listingNum>0) && !prevNum ){
listingNum = listingNum-1;
prevListing = $(".mw-kartographer-maplink[href$="+listingNum+"]");
if( typeof prevListing !== "undefined" ){
prevNum = $(prevListing).text();
}
}
$(this).text( parseInt(prevNum)+1 );
});
}
// Patch per Extension:Pagebanner, in quanto di recente la sua visualizzazione si è sovrapposta agli indicatori impedendone l'utilizzo (i.e. non è possibile farci "click")
$( '#contentSub' ).prepend( $( '.mw-indicators' ) );
// This method will resize elements that have a class name of "js-proportional-resize" by
// changing the font-size (%) based on a viewing area width of 900px being the baseline,
// i.e. 450px width=font size 50%, 900px width=font size 100%, 1800px width=font size 200%.
function proportionalResize() {
var EXPECTED_PAGE_WIDTH = 900.00;
$('.js-proportonal-resize').each(function() {
var fontSizeCss= (($(this).width() / EXPECTED_PAGE_WIDTH) * 100.00) + '%';
$(this).css("font-size", fontSizeCss);
});
}
$(document).ready(function(e) {
$('img[usemap]').rwdImageMaps();
proportionalResize();
// fix99();
});
$(window).on('load', function() {
// the main page text boxes aren't being initialized to the
// correct size on IE, so add a second resize post-DOM-ready
proportionalResize();
// fix99();
});
$(window).resize(function(e) {
proportionalResize();
});