Zuletzt bearbeitet vor 2 Monaten
von Mark Wagner

MediaWiki:Common.js: Unterschied zwischen den Versionen

Keine Kategorien vergebenBearbeiten
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 32: Zeile 32:
      .appendTo('head');
      .appendTo('head');
});
});
  $(function() {
  // 1) Klick-Handler: speichere zuletzt geklickte URL in window.name
     var storageKey = 'bs_lastNav',
  $('body').on('click', 'a.mws-tree-item-label', function() {
        lastHref;
     try {
      window.name = JSON.stringify({ lastNav: this.href });
    } catch (e) {
      console.warn('window.name write failed:', e);
    }
  });


    // 1) Klick merken
  // 2) Aufklappen nach voll geladenem Dokument
    $('a.mws-tree-item-label').on('click', function() {
  window.addEventListener('load', function() {
    try {
      // a) aus window.name auslesen
      var data = {};
       try {
       try {
         window.name = JSON.stringify({ lastNav: this.href });
         data = JSON.parse(window.name || '{}');
       } catch (e) { /* ignore */ }
       } catch (e) { /* ignore JSON errors */ }
    });
       var lastHref = data.lastNav;
 
      if (!lastHref) return;
    // 2) Auslesen
    try {
       var data = JSON.parse(window.name || '{}');
      lastHref = data.lastNav;
    } catch (e) { /* ignore */ }


    if (!lastHref) return;
      // b) Link finden
 
    // 3) Nach kurzer Verzögerung aufklappen
    setTimeout(function() {
       var $link = $('a.mws-tree-item-label[href="' + lastHref + '"]');
       var $link = $('a.mws-tree-item-label[href="' + lastHref + '"]');
       if (!$link.length) return;
       if (!$link.length) return;


       // Für jeden Vorgänger-<li>:
       // c) jeden <li> von ganz oben bis zum Link aufklappen
       $link.parents('li.mws-tree-item').each(function() {
       $link.parents('li.mws-tree-item').each(function() {
         var $li     = $(this),
         var $li       = $(this),
             $exp    = $li.children('div').children('a.mws-tree-expander'),
             $expander = $li.find('> div > a.mws-tree-expander'),
             $submenu = $li.children('ul.mws-tree-item-children');
             $submenu = $li.find('> ul.mws-tree-item-children');
 
        // Expander optisch öffnen
        $exp
          .removeClass('collapsed')
          .addClass('expanded')
          .attr('aria-expanded', 'true');


         // Untermenü anzeigen
        // wenn vorhanden, Expander umschalten
         $submenu.css('display', 'block');
        if ($expander.length) {
          $expander
            .removeClass('collapsed')
            .addClass('expanded')
            .attr('aria-expanded', 'true');
        }
         // Untermenü immer sichtbar machen
         if ($submenu.length) {
          $submenu.css('display', 'block');
        }
       });
       });


       // optional scrollen
       // d) optional zum Link scrollen
       $('html, body').scrollTop($link.offset().top - 100);
       $('html, body').scrollTop($link.offset().top - 100);
     }, 200);
     } catch (err) {
      console.error('Error beim automatischen Aufklappen:', err);
    }
   });
   });
});
});

Version vom 11. Juni 2025, 19:34 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');
			 });
 // 1) Klick-Handler: speichere zuletzt geklickte URL in window.name
  $('body').on('click', 'a.mws-tree-item-label', function() {
    try {
      window.name = JSON.stringify({ lastNav: this.href });
    } catch (e) {
      console.warn('window.name write failed:', e);
    }
  });

  // 2) Aufklappen nach voll geladenem Dokument
  window.addEventListener('load', function() {
    try {
      // a) aus window.name auslesen
      var data = {};
      try {
        data = JSON.parse(window.name || '{}');
      } catch (e) { /* ignore JSON errors */ }
      var lastHref = data.lastNav;
      if (!lastHref) return;

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

      // c) jeden <li> von ganz oben bis zum Link aufklappen
      $link.parents('li.mws-tree-item').each(function() {
        var $li       = $(this),
            $expander = $li.find('> div > a.mws-tree-expander'),
            $submenu  = $li.find('> ul.mws-tree-item-children');

        // wenn vorhanden, Expander umschalten
        if ($expander.length) {
          $expander
            .removeClass('collapsed')
            .addClass('expanded')
            .attr('aria-expanded', 'true');
        }
        // Untermenü immer sichtbar machen
        if ($submenu.length) {
          $submenu.css('display', 'block');
        }
      });

      // d) optional zum Link scrollen
      $('html, body').scrollTop($link.offset().top - 100);
    } catch (err) {
      console.error('Error beim automatischen Aufklappen:', err);
    }
  });
});