MediaWiki:Common.js: Unterschied zwischen den Versionen

(Die Seite wurde neu angelegt: →‎Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen.: // Verwendung von OpenStreetMap in Wikipedia. // (c) 2008 by Magnus Manske // Released und...)
 
 
(34 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
 
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
 +
console.log('Greetings from MediaWiki:Common.js new one');
  
// Verwendung von OpenStreetMap in Wikipedia.
+
/* *************************************************
// (c) 2008 by Magnus Manske
+
* Reinitialize leaflet after each tab change.
// Released under GPL
+
* fixes #36
 
+
*/
 
+
$(document).ready(function() {
function openStreetMapInit () {
+
$('.tabs-label').click(function(e) {
  c = document.getElementById ( 'coordinates' ) ;
+
var mapExists = setInterval(function() {
  if ( !c ) return ;
+
var counter = 0;
 
+
var mapsLeafletList = window.mapsLeafletList;
  a = c.getElementsByTagName ( 'a' ) ;
+
if (mapsLeafletList && mapsLeafletList.length) {
  geohack = 0 ;
+
mapsLeafletList.forEach(function(l) {
  for ( i = 0 ; i < a.length ; i++ ) {
+
if (l.map) {
    h = a[i].href ;
+
l.map.invalidateSize(false);
    if ( !h.match(/geohack/) ) continue ;
+
clearInterval(mapExists);
    geohack = 1 ;
+
}
    break ;
+
});
  }
+
}
  if ( geohack == 0 ) return ;
+
if (counter++ > 10) clearInterval(mapExists);
 
+
}, 100);
  na = document.createElement ( 'a' ) ;
+
});
  na.href = '#' ;
+
});
  na.onclick = openStreetMapToggle ;
 
  na.appendChild ( document.createTextNode ( 'OSM' ) ) ;
 
//  c.appendChild ( document.createElement ( 'br' ) )
 
  c.appendChild ( document.createTextNode ( '(' ) ) ;
 
  c.appendChild ( na ) ;
 
  c.appendChild ( document.createTextNode ( ')  ' ) ) ;
 
}
 
 
 
function openStreetMapToggle () {
 
  c = document.getElementById ( 'coordinates' ) ;
 
  if ( !c ) return ;
 
  cs = document.getElementById ( 'contentSub' ) ;
 
  osm = document.getElementById ( 'openstreetmap' ) ;
 
 
 
  if ( cs && osm ) {
 
    cs.removeChild ( osm ) ;
 
    return ;
 
  }
 
 
 
  a = c.getElementsByTagName ( 'a' ) [0] ;
 
  h = a.href ;
 
  h = h.split('params=')[1] ;
 
 
 
  i = document.createElement ( 'iframe' ) ;
 
  url = 'http://tools.wikimedia.de/~magnus/ol/wp_poi.php?title=' + wgTitle ;
 
  url += '&language=' + wgUserLanguage ;
 
  url += '&params=' + h ;
 
  i.id = 'openstreetmap' ;
 
  i.style.width = '100%' ;
 
  i.style.height = '300px' ;
 
  i.style.clear = 'both' ;
 
  i.src = url ;
 
  cs.appendChild ( i ) ;
 
}
 
 
 
 
 
addOnloadHook(openStreetMapInit);
 

Aktuelle Version vom 4. Februar 2024, 02:53 Uhr

/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
console.log('Greetings from MediaWiki:Common.js new one');

/* *************************************************
 * Reinitialize leaflet after each tab change.
 * fixes #36
 */
$(document).ready(function() {
	$('.tabs-label').click(function(e) {
		var mapExists = setInterval(function() {
			var counter = 0;
			var mapsLeafletList = window.mapsLeafletList;
			if (mapsLeafletList && mapsLeafletList.length) {
				mapsLeafletList.forEach(function(l) {
					if (l.map) {
						l.map.invalidateSize(false);
						clearInterval(mapExists);
					}
				});
			}
			if (counter++ > 10) clearInterval(mapExists);
		}, 100);
	});
});