Zuletzt bearbeitet vor 2 Monaten
von Mark Wagner

MediaWiki:Common.js: Unterschied zwischen den Versionen

Keine Kategorien vergebenBearbeiten
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 35: Zeile 35:
});
});
/* MediaWiki:Common.js */
/* MediaWiki:Common.js */
// Merkt sich den zuletzt geklickten Sidebar-Link und klappt ihn nach Reload wieder auf.
// Merkt sich den zuletzt geklickten Sidebar-Link in window.name und klappt ihn beim Laden wieder auf.


$(document).on('click', 'a.mws-tree-item-label', function() {
$(function() {
  try {
  // 1) Klick-Handler: Link merken
    window.name = JSON.stringify({ lastNav: this.href });
  $('body').on('click', 'a.mws-tree-item-label', function() {
  } catch (e) {
    try {
    // ignore
      window.name = JSON.stringify({ lastNav: this.href });
   }
    } catch (e) { /* ignore */ }
});
   });


$(window).on('load', function() {
  // 2) Beim Laden: Inhalt von window.name auslesen
   var data, lastHref, $link;
   var lastHref = null;
   try {
   try {
     data = JSON.parse(window.name || '{}');
     var data = JSON.parse(window.name || '{}');
     lastHref = data.lastNav;
     lastHref = data.lastNav;
   } catch (e) {
   } catch (e) {}
 
  if (!lastHref) {
     return;
     return;
   }
   }
  if (!lastHref) return;


   $link = $('a.mws-tree-item-label[href="' + lastHref + '"]');
   // 3) Bis zu 10× im Abstand von 300 ms versuchen, aufzuklappen
  if (!$link.length) return;
  var attempts = 0;
  var expanderInterval = setInterval(function() {
    attempts++;
    var $link = $('a.mws-tree-item-label[href="' + lastHref + '"]');
    if (!$link.length || attempts > 10) {
      clearInterval(expanderInterval);
      return;
    }


  // Für jeden Eltern-LI: Expander öffnen und Untermenü anzeigen
    // Wenn wir den Link gefunden haben: expander-Klicks auslösen
  $link.parents('li.mws-tree-item').each(function() {
    $link
    var $li      = $(this),
      .parents('li.mws-tree-item')
        $expander = $li.children('div').children('a.mws-tree-expander'),
      .each(function() {
         $submenu  = $li.children('ul.mws-tree-item-children');
        var $exp = $(this).children('div').children('a.mws-tree-expander.collapsed');
         if ($exp.length) {
          $exp.trigger('click');
        }
      });


     if ($expander.length) {
    // Link ins Blickfeld scrollen
       $expander
     if ($link.length) {
        .removeClass('collapsed')
       $('html, body').scrollTop($link.offset().top - 80);
        .addClass('expanded')
       clearInterval(expanderInterval);
        .attr('aria-expanded', 'true');
    }
    if ($submenu.length) {
       $submenu.css('display', 'block');
     }
     }
   });
   }, 300);
 
  // Zum Link scrollen
  $('html, body').scrollTop($link.offset().top - 80);
});
});

Version vom 11. Juni 2025, 19:54 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */
/**
 * Entfernt das Wort „Fortsetzung“ aus allen SMW-Spalten-Headern (div.smw-column-header).
 * Leg die Datei MediaWiki:Common.js (oder Discovery.js) an bzw. bearbeite sie:
 *
 * 1. Gehe als Admin auf Special:Edit/MediaWiki:Common.js
 * 2. Füge diesen Code ans Ende ein und speichere.
 * 3. Leere den Browser-Cache (STRG + F5), damit das neue JS geladen wird.
 */
mw.loader.using(['jquery'], function () {
    $(document).ready(function () {
        $('.smw-column-header').each(function () {
            // aktuellen HTML-Inhalt holen
            var html = $(this).html();
            // "Fortsetzung" entfernen, Leerzeichen ggf. bereinigen
            var newHtml = html.replace(/Fortsetzung/g, '').trim();
            // falls nach dem Entfernen gar kein Text übrig ist, komplette Header-Box ausblenden:
            if (newHtml === '') {
                $(this).hide();
            } else {
                // ansonsten nur den Text überschreiben, sodass z. B. "B Fortsetzung" → "B" wird
                $(this).html(newHtml);
            }
        });
        $(function () {
			    $('<style>')
			      .prop('type', 'text/css')
			      .html(
			        '.breadcrumb-item { font-size: 17px !important; }' +
			        '.breadcrumb-nav  { border-bottom: 2px solid #85bc20!important; margin-bottom: 20px !important; }'
			      )
			      .appendTo('head');
		});
	});
});
/* MediaWiki:Common.js */
// Merkt sich den zuletzt geklickten Sidebar-Link in window.name und klappt ihn beim Laden wieder auf.

$(function() {
  // 1) Klick-Handler: Link merken
  $('body').on('click', 'a.mws-tree-item-label', function() {
    try {
      window.name = JSON.stringify({ lastNav: this.href });
    } catch (e) { /* ignore */ }
  });

  // 2) Beim Laden: Inhalt von window.name auslesen
  var lastHref = null;
  try {
    var data = JSON.parse(window.name || '{}');
    lastHref = data.lastNav;
  } catch (e) {}

  if (!lastHref) {
    return;
  }

  // 3) Bis zu 10× im Abstand von 300 ms versuchen, aufzuklappen
  var attempts = 0;
  var expanderInterval = setInterval(function() {
    attempts++;
    var $link = $('a.mws-tree-item-label[href="' + lastHref + '"]');
    if (!$link.length || attempts > 10) {
      clearInterval(expanderInterval);
      return;
    }

    // Wenn wir den Link gefunden haben: expander-Klicks auslösen
    $link
      .parents('li.mws-tree-item')
      .each(function() {
        var $exp = $(this).children('div').children('a.mws-tree-expander.collapsed');
        if ($exp.length) {
          $exp.trigger('click');
        }
      });

    // Link ins Blickfeld scrollen
    if ($link.length) {
      $('html, body').scrollTop($link.offset().top - 80);
      clearInterval(expanderInterval);
    }
  }, 300);
});