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
//<nowiki> /** Gadget-MarkerUtilities.js, v2.0, 2024-10-26 support for markers, vCards/listings, indicators, TOC original authors: DerFussi, Roland Unger Support of desktop and mobile views License: GPL-2.0+, CC-by-sa 3.0 */ ( function ( $, mw ) { 'use strict'; /** Replacing copy-marker placeholders (Template:Marker Kopie) */ function replaceMarkerPlaceholders() { $( '.voy-copy-marker' ).each( function() { const $this = $( this ), att = $this.attr( 'data-copy-marker-attribute' ), cont = $this.attr( 'data-copy-marker-content' ), markers = $( '.vcard[' + att + '="' + cont + '"]:not(.voy-without-marker)' ), bgColor = markers.attr( 'data-color' ), marker = markers.find( 'a.mw-kartographer-maplink' ); if ( marker.length ) { // source marker found const lat = marker.attr( 'data-lat' ), lon = marker.attr( 'data-lon' ), zoom = marker.attr( 'data-zoom' ), isInverse = marker.closest( '.listing-map' ).hasClass( 'listing-map-inverse' ), number = marker.first().text(); $this.css( { 'background-color': bgColor, display: 'inline-block' } ) .append( $( '<span class="mw-kartographer-maplink mw-kartographer-autostyled' + ( isInverse ? ' listing-map-inverse' : ' listing-map-not-inverse' ) + '">' + number + '</span>' ) .attr( { 'data-lat': lat, 'data-lon': lon, 'data-zoom': zoom } ) .click( { attribute : att, content : cont }, function( event ) { $( '.vcard[' + event.data.attribute + '="' + event.data.content + '"]:not(.voy-without-marker) a.mw-kartographer-maplink' ) .first().trigger( 'click' ); } ) ); $this.closest( '.vcard' ).attr( 'data-color', bgColor ); } else { // source marker not found $this.addClass( 'voy-copy-marker-not-found' ); } }); } /** Adds "listing-inline" and "listing-with-siblings" classes to <span class="vCard"> listings if necessary */ function addVcardMaintenanceClasses() { var ignoreTags = [ 'link', 'style', 'ul' ]; $( 'span.vCard' ).each( function() { var count = 0, countAll = 0, $this = $( this ), isInline = $this.hasClass( 'listing-inline' ), siblings = $this.parent().contents(); for ( var i = 0; i < siblings.length; i++ ) { if ( ( siblings[ i ].nodeType === Node.TEXT_NODE && siblings[ i ].nodeValue.trim() !== '' ) || ( siblings[ i ].nodeType === Node.ELEMENT_NODE && !ignoreTags.includes( siblings[ i ].nodeName.toLowerCase() ) ) ) { count++; countAll++; } // text before vCard will not prevent display of full edit/info buttons if ( $this.is( siblings[ i ] ) ) { count = 1; } } if ( count === 1 ) { $this.removeClass( "listing-inline" ); } if ( count > 1 ) { $this.addClass( 'listing-inline' ); } if ( countAll > 1 && !isInline ) { $this.addClass( 'listing-with-siblings' ); } }); } /** Support of Skype links. Skype protocol is not supported by the Mediawiki software, and the link is to be added later */ function addSkypeLinks() { $( '.listing-skype-link' ).each( function() { var p = $( this ), t = p.text(); p.html( mw.format( '<a href="skype:$1">$2</a>', t, t.replace( /\?.*$/, '' ) ) ); }); } /** add voy-user-login class to body tag if user is logged-in to show Wikidata icon after markers */ function addUserLoginClass() { if ( mw.config.get( 'wgUserName' ) ) { $( 'body' ).addClass( 'voy-user-login' ); } } /** Add class for figure captions if they contain markers to show marker tooltips correctly */ function addFigCaptionClass() { $( 'figcaption:has(span.Marker)' ).addClass( 'with-Marker' ); } /** Move indicators in Vector 2022 skin */ function moveIndicators() { $( 'body.skin-vector-2022 .mw-indicators' ).insertAfter( '#p-lang-btn' ); } /** Workaround TOC and jumps to anchors in URL */ function jumpToHash( $content ) { mw.loader.using( 'user.options', function () { var hash = window.location.hash.slice( 1 ), toc = $( '#content #toc' ); if ( hash !== '' && toc.length ) { if ( mw.user.options.get( 'toc-floated' ) ) { toc.addClass( 'tocFloat' ); } if ( !mw.user.options.get( 'toc-expand' ) ) { $( '#content #toc .toclevel-2' ).hide(); } window.location.href = '#' + hash; } }); } replaceMarkerPlaceholders(); addVcardMaintenanceClasses(); addSkypeLinks(); addUserLoginClass(); addFigCaptionClass(); moveIndicators(); // mw.hook( 'wikipage.content' ).add( jumpToHash ); } ( jQuery, mediaWiki ) ); //</nowiki>