MediaWiki:Common.js

aus SkipperGuide, dem Online-Revierführer über die Segelreviere der Welt.
Version vom 6. April 2026, 11:48 Uhr von Peter (Diskussion | Beiträge) (Bugfix der Maps-Extension: OpenSeaMap wird nicht als Overlay angezeigt, nur als Layer)
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/* 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
http://www.skipperguide.de/wiki/Hauptseite on Media Wiki */
var sc_project=3309919; 
var sc_invisible=1; 
var sc_security="a2895d4f"; 
var script = document.createElement('script');
script.src = "https://secure.statcounter.com/counter/counter.js";
document.body.appendChild(script);
/* End of Statcounter Code */

/* GA4 */
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtag/js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','G-398408700');

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-398408700');

/* adsense */
mw.loader.load( '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js' );
$( document ).ready( function() {
    var adsenseCode = '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9316016680305616" crossorigin="anonymous"></script>';
    $( 'body' ).append( adsenseCode );
} );

/* cookies */
$( document ).ready( function() {
    var script = document.createElement('script');
    script.id = 'usercentrics-cmp';
    script.async = true;
    script.setAttribute('data-eu-mode', 'true');
    script.setAttribute('data-settings-id', 'ErlSniwNaQGLDr');
    script.src = 'https://app.eu.usercentrics.eu/browser-ui/latest/loader.js';
    document.body.appendChild(script);
});

$( document ).ready( function() {
    var script = document.createElement('script');
    script.type = 'application/javascript';
    script.src = 'https://sdp.eu.usercentrics.eu/latest/uc-block.bundle.js';
    document.body.appendChild(script);
});