![]() |
MediaWiki:Mobile.js
Zur Navigation springen
Zur Suche springen
Hinweis: Leere nach dem Speichern 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
- Internet Explorer: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Gehe zu Menü → Einstellungen (Opera → Einstellungen auf dem Mac) und dann auf Datenschutz & Sicherheit → Browserdaten löschen → Gespeicherte Bilder und Dateien.
/* Das folgende JavaScript wird für alle Nutzer der mobilen Ansicht geladen. */ mw.loader.using('mobile.site.styles'); /* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */ // anzeigen & verbergen function einaus (inhalt, einblenden, ausblenden) { var thisLevel = document.getElementById(inhalt); var otherLevel = document.getElementById(einblenden); var linkLevel = document.getElementById(ausblenden); if (thisLevel.style.display == 'none') { thisLevel.style.display = 'block'; otherLevel.style.display = 'none'; linkLevel.style.display = 'inline'; } else { thisLevel.style.display = 'none'; otherLevel.style.display = 'inline'; linkLevel.style.display = 'none'; } } // Ein- und Ausblenden per Javascript // mit den folgenden Funktionen lässt sich ein div-Konstrukt in ein Einblende-Ausblende-Ding verwandeln // // Variante 1 (Klick irgendwo blendet ein oder aus): // <div class="klapp"> // <div class="klapp_t">Titel im eingeblendeten Zustand</div> // <div class="klapp_e">Titel im ausgeblendeten Zustand</div> // <div class="klapp_i">Einzublendender Inhalt</div> // </div> // // Variante 2 (ein- und ausblenden nur mit Links): // <div class="klapp_x"> // <div class="klapp_t">Titel im eingeblendeten Zustand mit <span class="klapp">Einblendelink</span></div> // <div class="klapp_e">Titel im ausgeblendeten Zustand mit <span class="klapp">Ausblendelink</span></div> // <div class="klapp_i">Einzublendender Inhalt</div> // </div> function ausklapp( element ) { var klapp_i = null; var klapp_e = null; var klapp_t = null; for (i=0; i<element.childNodes.length; i++) { if( element.childNodes[i].nodeType == 1 ) { if ( element.childNodes[i].className == "klapp_i" ) klapp_i = element.childNodes[i]; else if ( element.childNodes[i].className == "klapp_t" ) klapp_t = element.childNodes[i]; else if ( element.childNodes[i].className == "klapp_e" ) klapp_e = element.childNodes[i]; } if ( klapp_i && klapp_t && klapp_e ) break; } if( klapp_i.style.display != "none") { klapp_i.style.display = "none"; klapp_e.style.display = "none"; klapp_t.style.display = "block"; } else { klapp_i.style.display = "block"; klapp_e.style.display = "block"; klapp_t.style.display = "none"; } } function getKlappDiv( obj ) { while ( obj && obj.parentNode && obj.className != "klapp_x" ) obj = obj.parentNode; return obj; } // Event-Handler für alle class="klapp"-Objekte zuweisen function makeAusklapp() { // klapp-div-Rahmen var a = document.getElementsByTagName("div"); for ( div=0; div<a.length; div++ ) { if ( a[div].className == "klapp" ) { //Leider nicht IE-Kompatibel: //var f = function () { ausklapp(this) }; //addEvent( a[div], "click", f , false ); //stattdessen: a[div].onclick = function () { ausklapp(this);} } } // klapp-spans-Rahmen als Link-Ersatz var a = document.getElementsByTagName("span"); for ( span=0; span<a.length; span++ ) { if ( a[span].className == "klapp" ) { a[span].onclick = function () { ausklapp(getKlappDiv( this ));} } } } // Nach dem Laden des Fensters folgendes Ausführen: $(makeAusklapp); /* Test if an element has a certain class ************************************** * * Description: Uses regular expressions and caching for better performance. * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]] */ var hasClass = (function () { var reCache = {}; return function (element, className) { return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className); }; })(); /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "verbergen"; var expandCaption = "anzeigen"; var collapseTable = function( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = collapseCaption; } }; window.collapseTable = collapseTable; var createCollapseButtons = function() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( hasClass( Tables[i], "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue; NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:window.collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); Header.insertBefore( Button, Header.childNodes[0] ); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) { collapseTable( i ); } } }; $( createCollapseButtons ); var timer = setInterval(function() { if ($('.menu ul:first').length) { console.log("mobile menu exists"); clearInterval(timer); $('.menu ul:first').after( '<ul class="level1"> \ <li> \ <a href="#" \ class="mw-ui-icon mw-ui-icon-before mw-ui-icon-minerva-listBullet"> \ <span>MarioWiki-Community</span> \ </a> \ </li> \ <ul class ="level2"> \ <li> \ <a href="https://bsky.app/profile/mariowiki.net" \ class="mw-ui-icon mw-ui-icon-before"> \ <span>Bluesky</span> \ </a> \ </li> \ <li> \ <a href="https://discord.gg/mXA6bR8" \ class="mw-ui-icon mw-ui-icon-before"> \ <span>Discord</span> \ </a> \ </li> \ </ul> \ </ul>' ); $(".menu").find(".level2").hide(); $(".level1").click(function(event){ $(this).find(".level2").slideToggle(250); }); } }, 100);