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 */