MediaWiki:Common.js: Unterschied zwischen den Versionen
Peter (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Peter (Diskussion | Beiträge) Bugfix der Maps-Extension: OpenSeaMap wird nicht als Overlay angezeigt, nur als Layer Markierung: Zurückgesetzt |
||
| Zeile 1: | Zeile 1: | ||
/* Bugfix der Maps-Extension: OpenSeaMap wird nicht als Overlay angezeigt, nur als Layer */ | |||
$(function() { | |||
var observer = new MutationObserver(function() { | |||
document.querySelectorAll('.leaflet-container').forEach(function(container) { | |||
if (container._leafletFixed) return; | |||
var mapObj = null; | |||
// Find Leaflet map instance | |||
for (var key in container) { | |||
if (key.startsWith('_leaflet_id')) { | |||
break; | |||
} | |||
} | |||
var id = container._leaflet_id; | |||
if (!id) return; | |||
// Access via internal Leaflet reference | |||
var map = container._leaflet_map || null; | |||
if (!map) { | |||
// Try to get map from L.Map instances | |||
document.querySelectorAll('.leaflet-container').forEach(function(el) { | |||
if (el._leaflet_id && !el._leafletFixed) { | |||
el._leafletFixed = true; | |||
// Find openseamap layers in tile-pane and move to overlay-pane | |||
var tilePanes = el.querySelectorAll('.leaflet-tile-pane .leaflet-layer'); | |||
tilePanes.forEach(function(layerDiv) { | |||
var img = layerDiv.querySelector('img'); | |||
if (img && img.src && img.src.indexOf('openseamap') !== -1) { | |||
var overlayPane = el.querySelector('.leaflet-overlay-pane'); | |||
if (overlayPane) { | |||
overlayPane.appendChild(layerDiv); | |||
} | |||
} | |||
}); | |||
} | |||
}); | |||
} | |||
}); | |||
}); | |||
observer.observe(document.body, {childList: true, subtree: true}); | |||
}); | |||
/* Statcounter code for SkipperGuide.de | /* Statcounter code for SkipperGuide.de | ||
http://www.skipperguide.de/wiki/Hauptseite on Media Wiki */ | http://www.skipperguide.de/wiki/Hauptseite on Media Wiki */ | ||