Utente:Andyrom75/MappaComprimibileWIP.js

Da Wikivoyage.

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
// Codice di prova per Template:MappaComprimibile/Sandbox
/*
function init(id, lon, lat, z) {
        var map = new OpenLayers.Map({
        div: id,
        projection: new OpenLayers.Projection("EPSG:900913"),
        displayProjection: new OpenLayers.Projection("EPSG:4326"),
        layers: [
            new OpenLayers.Layer.OSM()
        ],
        controls:[ 
	    new OpenLayers.Control.Navigation(),
            new OpenLayers.Control.PanZoomBar(),
            new OpenLayers.Control.ScaleLine(),
            new OpenLayers.Control.Attribution()
	]
        });
		
        var mapnik = new OpenLayers.Layer.OSM("OpenStreetMap (Mapnik)");
 	map.addLayer(mapnik);        
 
        var lonLat = new OpenLayers.LonLat( lon ,lat ).transform(
            new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()
        );
        map.setCenter (lonLat, z);
}

mw.loader.using('jquery.ui', function () {	
	if( $("#mappa_di_prova").length != 0 ) {
	   var lat = $("#mappa_di_prova").data().lat;
	   var lon = $("#mappa_di_prova").data().lon;
	   var z = $("#mappa_di_prova").data().z;
	   init('mappa_di_prova', lat, lon, z);
	   $("#mappa_di_prova").draggable();
	   $("#mappa_di_prova").resizable();
	} 

//Altro test
$(".classediprova span a span.geo-dec").css("display","none");
$(".classediprova span a span span span.latitude").css("display","none");
$(".classediprova span a span span span.longitude").css("display","none");
*/

//Ulteriore test
CheckLink=function (title, site) {
  data= {format: 'json',action: 'query',titles: title,   prop: 'revisions',rvlimit: '1'};
  $.ajax({
    url: 'https:'+site+'/w/api.php',
    async:false,
    data:data,
    dataType: 'jsonp'
  }).done(function (data) {
        //Se la pagina non esiste va nascosto l'item
        if ((data.query.pages==undefined) || (data.query.pages[-1]!=undefined)) {
            var startingPoint = $("a[href^='"+site+"/wiki/"+title+"']");
            //Gestisco la singolarità del template interprogetto per Commons
            if( site=="//commons.wikimedia.org" ) {
              startingPoint = startingPoint.parent("span");
            } 
console.log("a[href^='" + site + "/wiki/" + title + "']" + " NON esistente\n" );
            startingPoint.parent("b").parent("li").hide();
        }else{
console.log("a[href^='" + site + "/wiki/" + title + "']" + " ESISTENTE  (data.query.pages or data.query.pages[-1] not exist) \n" );
        }
  });
}
 
//Imposto i link da controllare
var sites2check = ["Wikipedia", "Wikizionario", "Commons", "Wikinotizie", "Wikiquote"];
 
//Cerco nella pagina gli item "li" della sezione "Altri progetti"
$(".extiw").parent().parent().children("li").each( function() {
  $(this).children().each( function() {
    var siteIndex = jQuery.inArray($(this).text(), sites2check );
    var parts=[];
    if( siteIndex >= 0 ){
      //Se tra gli item "li" della sezione "Altri progetti" trovo i link da controllare, preparo i parametri di CheckLink e la eseguo
      parts = $(this).attr("href").split('/wiki/');
      CheckLink(parts[1].split('?')[0], parts[0]);
    }
  });
});