Nota: dopo aver salvato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- 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
/*************************************************************************** * scrollGallery v2.0, 2020-03-17 * Scrolling through Image Galleries * Original author: Roland Unger * Support of desktop and mobile views * Documentation: https://de.wikivoyage.org/wiki/Wikivoyage:scrollGallery.js * License: GPL-2.0+, CC-by-sa 3.0 ***************************************************************************/ ( function ( mw, $ ) { 'use strict'; var scrollGalleries = function() { var str = { prev : '◀', next : '▶', counter: '$1/$2' }; var processEvent = function( event, incr ) { var group, i, imgs, unit, which = 0; group = $( event.target ).closest( '.ImageGroup' ); imgs = $( '.ImageGrUnit', group ); i = 0; imgs.each( function() { unit = $( event.target ).closest( '.ImageGrUnit' ); if ( $( this ).is( unit ) ) which = i; i++; }); which = which + incr; if ( which < 0 ) which = imgs.length - 1; else if ( which > imgs.length - 1 ) which = 0; i = 0; imgs.each( function() { $( this ).toggle( i == which ); i++; }); }; // preloadImages() is only used in mobile view. It substitutes the lazy // image mode which prevents loading hidden images. var preloadImages = function() { var img, p; $( 'noscript' ).each( function() { p = $( this ).next(); // <span class="lazy-image-placeholder" ...> if ( p.hasClass( 'lazy-image-placeholder' ) ) { img = $( '<img />' ) .attr( { 'src': p.attr( 'data-src' ), 'width': p.attr( 'data-width' ), 'height': p.attr( 'data-height' ), 'alt': p.attr( 'data-alt' ) }); p.replaceWith( img ); } }); }; var init = function() { var i, j, divs, imgs, prevLink, nextLink, counter, imghead, newImg, firstImg, timeDependent, showUnitHeader, timeNow, noLoop, $this; divs = $( '.ImageGroup' ); if ( divs.length === 0 ) return; preloadImages(); i = 0; divs.each( function() { $this = $( this ); imgs = $( '.ImageGrUnit', $this ); if ( imgs.length < 2 ) return; timeDependent = $this.hasClass( 'timeDependent' ); showUnitHeader = !$this.hasClass( 'hideUnitHeader' ); noLoop = $this.hasClass( 'noLoop' ); // getting width excluding header width var clone = $this.clone(); $( '.ImageGrUnit', clone ).show(); $( '.ImageGroupHeader', clone ).hide(); clone.show() .css( { 'visibility': 'hidden' } ) .appendTo( $( 'body' ) ); $this.css( 'width', clone.width() + 'px' ); clone.remove(); firstImg = 0; if ( timeDependent ) { timeNow = new Date(); timeNow = timeNow.getHours() + timeNow.getMinutes() / 60; firstImg = Math.floor( timeNow * imgs.length / 24 ); if (firstImg > imgs.length - 1 ) firstImg = imgs.length - 1; } j = 0; imgs.each( function() { if ( showUnitHeader ) { prevLink = $( '<span>' + str.prev + '</span>' ); if ( j === 0 && noLoop ) prevLink.addClass( 'ImageNoLoop' ) .css( 'cursor', 'default' ) .attr( 'title', '' ); else { newImg = j; if ( j === 0 ) newImg = imgs.length; prevLink.css( 'cursor', 'pointer' ) .attr( 'title', mw.format( str.counter, newImg, imgs.length ) ) .click( function( event ) { processEvent( event, -1 ); }); } nextLink = $( '<span>' + str.next + '</span>' ); if ( j === imgs.length - 1 && noLoop ) nextLink.addClass( 'ImageNoLoop' ) .css( 'cursor', 'default' ) .attr( 'title', '' ); else { newImg = j + 2; if ( j === imgs.length - 1 ) newImg = 1; nextLink.css( 'cursor', 'pointer' ) .attr( 'title', mw.format( str.counter, newImg, imgs.length ) ) .click( function( event ) { processEvent( event, 1 ); }); } counter = mw.format( str.counter, j + 1, imgs.length ); imghead = $( '<div class="ImageGrUnitHeader wv-timeless-no-emoji"> ' + counter + ' </div>' ) .prepend( prevLink ) .append( nextLink ); $( this ).prepend( imghead ); } $( this ).toggle( j == firstImg ); j++; }); i++; }); }; return { init: init }; } (); $( scrollGalleries.init ); } ( mediaWiki, jQuery ) );