Zuletzt bearbeitet vor 2 Monaten
von Mark Wagner

MediaWiki:Common.js: Unterschied zwischen den Versionen

Keine Kategorien vergebenBearbeiten
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 34: Zeile 34:
});
});
});
});
// MediaWiki:Common.js
/**
* Merkt sich den zuletzt geklickten Sidebar-Link über window.name
* und klappt ihn nach Reload wieder auf.
*/
mw.loader.using('jquery', function($) {
  // 1) Klick-Handler: speichere URL
  $('body').on('click', 'a.mws-tree-item-label', function() {
    try {
      window.name = JSON.stringify({ lastNav: this.href });
    } catch (e) {
      // swallow
    }
  });


( function () {
   // 2) Nach vollständigem Laden: aus window.name lesen und aufklappen
   // Wrap in IIFE, damit selbst bei Fehlern im Rest nichts deinen Code stoppt
   window.addEventListener('load', function() {
   mw.loader.using('jquery', function($) {
     var data, lastHref, $link;
     $(function() {
    try {
      try {
      data = JSON.parse(window.name || '{}');
        // 1) Klick merken
      lastHref = data.lastNav;
        $('body').on('click', 'a.mws-tree-item-label', function() {
    } catch (e) {
          try {
      return;
            window.name = JSON.stringify({ lastNav: this.href });
    }
          } catch (e) { /* swallow */ }
    if (!lastHref) return;
        });


        // 2) Beim vollständigen Laden aufklappen
    $link = $('a.mws-tree-item-label[href="' + lastHref + '"]');
        window.addEventListener('load', function() {
    if (!$link.length) return;
          var data, lastHref, $link;
          try {
            data = JSON.parse(window.name || '{}');
            lastHref = data.lastNav;
          } catch (e) { return; }
          if (!lastHref) return;


          // Alle Vorfahren-<li> aufklappen
    // Jeden Eltern-<li> aufklappen
          $link = $('a.mws-tree-item-label[href="' + lastHref + '"]');
    $link.parents('li.mws-tree-item').each(function() {
          if (!$link.length) return;
      var $li      = $(this),
 
          $expander = $li.children('div').children('a.mws-tree-expander'),
          $link.parents('li.mws-tree-item').each(function() {
          $submenu  = $li.children('ul.mws-tree-item-children');
            var $li      = $(this),
      if ($expander.length) {
                $expander = $li.children('div').children('a.mws-tree-expander'),
        $expander
                $submenu  = $li.children('ul.mws-tree-item-children');
          .removeClass('collapsed')
 
          .addClass('expanded')
            // Expander umschalten
          .attr('aria-expanded', 'true');
            if ($expander.length) {
      }
              $expander
      if ($submenu.length) {
                .removeClass('collapsed')
        $submenu.css('display', 'block');
                .addClass('expanded')
                .attr('aria-expanded', 'true');
            }
            // Untermenü einblenden
            if ($submenu.length) {
              $submenu.css('display', 'block');
            }
          });
 
          // zum Link scrollen
          $('html, body').scrollTop($link.offset().top - 80);
        });
      } catch (outer) {
        console.error('Fehler im Aufklapp-Skript:', outer);
       }
       }
     });
     });
    // Zum Link scrollen
    $('html, body').scrollTop($link.offset().top - 80);
   });
   });
} )(); // <–– IIFE schließen
});

Version vom 11. Juni 2025, 19:45 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 über window.name
 * und klappt ihn nach Reload wieder auf.
 */
mw.loader.using('jquery', function($) {
  // 1) Klick-Handler: speichere URL
  $('body').on('click', 'a.mws-tree-item-label', function() {
    try {
      window.name = JSON.stringify({ lastNav: this.href });
    } catch (e) {
      // swallow
    }
  });

  // 2) Nach vollständigem Laden: aus window.name lesen und aufklappen
  window.addEventListener('load', function() {
    var data, lastHref, $link;
    try {
      data = JSON.parse(window.name || '{}');
      lastHref = data.lastNav;
    } catch (e) {
      return;
    }
    if (!lastHref) return;

    $link = $('a.mws-tree-item-label[href="' + lastHref + '"]');
    if (!$link.length) return;

    // Jeden Eltern-<li> aufklappen
    $link.parents('li.mws-tree-item').each(function() {
      var $li       = $(this),
          $expander = $li.children('div').children('a.mws-tree-expander'),
          $submenu  = $li.children('ul.mws-tree-item-children');
      if ($expander.length) {
        $expander
          .removeClass('collapsed')
          .addClass('expanded')
          .attr('aria-expanded', 'true');
      }
      if ($submenu.length) {
        $submenu.css('display', 'block');
      }
    });

    // Zum Link scrollen
    $('html, body').scrollTop($link.offset().top - 80);
  });
});