Zum Inhalt springen
Das Halloween-Event (Süßes oder Saures) findet vom 24.10.2025 bis 07.11.2025 statt.

MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Firestone Idle RPG Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 29: Zeile 29:
   } catch (e) {}
   } catch (e) {}
})();
})();
/* Entfernt für Gäste die Tabs/Tools-Leiste und die "Erscheinungsbild"-Brille (Vector 2022) */
mw.loader.using( 'mediawiki.util' ).then( function () {
  // Nur Vector 2022
  if ( mw.config.get( 'skin' ) !== 'vector-2022' ) return;
  // Nur Gäste
  if ( mw.config.get( 'wgUserName' ) ) return;
  function nukeToolbarAndAppearance() {
    var sels = [
      // gesamte Toolbar mit "Seite / Diskussion / Werkzeuge ..."
      '.vector-page-toolbar',
      // Brille + Panel im Header
      'nav.vector-appearance-landmark',
      '#vector-appearance-dropdown',
      // falls die Brille in die Sidebar "angepinnt" wurde
      '#vector-appearance-pinned-container',
      // falls Werkzeuge/Appearance separat gepinnt wurden
      '#vector-page-tools-pinned-container'
    ];
    sels.forEach(function (sel) {
      document.querySelectorAll(sel).forEach(function (el) { el.remove(); });
    });
  }
  // Sofort ausführen …
  nukeToolbarAndAppearance();
  // … und erneut, falls Vector nachträglich DOM-Teile einbaut
  var debounced = mw.util.debounce( nukeToolbarAndAppearance, 50 );
  var mo = new MutationObserver(function (mutations) {
    for (var i = 0; i < mutations.length; i++) {
      if (mutations[i].addedNodes && mutations[i].addedNodes.length) {
        debounced();
        break;
      }
    }
  });
  mo.observe( document.documentElement, { childList: true, subtree: true } );
  // Auch bei Ajax-Nachladungen (z. B. Inhaltswechsel)
  mw.hook( 'wikipage.content' ).add( nukeToolbarAndAppearance );
});

Version vom 9. Oktober 2025, 21:12 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */
/*
$(document).ready(function(){
  $("#ca-talk").remove();
  $("#footer-places-privacy").remove();
  $("#footer-places-about").remove();
  $("#footer-places-disclaimers").remove();
});
*/
/* === Force Vector wide layout for everyone (MW 1.44, Vector 2022) === */
(function () {
  try {
    var KEY = 'vector-client-prefs';
    var prefs = {};
    try { prefs = JSON.parse( localStorage.getItem(KEY) || '{}' ); } catch (e) {}

    // 0 = wide, 1 = limited-width
    if ( prefs['vector-feature-limited-width'] !== 0 ) {
      prefs['vector-feature-limited-width'] = 0;
      localStorage.setItem( KEY, JSON.stringify(prefs) );
    }

    // Fix the <html> classes immediately (prevents narrow layout flash)
    var html = document.documentElement;
    html.classList.remove('vector-feature-limited-width-clientpref-1');
    html.classList.add('vector-feature-limited-width-clientpref-0');
    // (manchmal setzt der Server noch diese Klasse:)
    html.classList.remove('vector-feature-limited-width');
  } catch (e) {}
})();

/* Entfernt für Gäste die Tabs/Tools-Leiste und die "Erscheinungsbild"-Brille (Vector 2022) */
mw.loader.using( 'mediawiki.util' ).then( function () {
  // Nur Vector 2022
  if ( mw.config.get( 'skin' ) !== 'vector-2022' ) return;
  // Nur Gäste
  if ( mw.config.get( 'wgUserName' ) ) return;

  function nukeToolbarAndAppearance() {
    var sels = [
      // gesamte Toolbar mit "Seite / Diskussion / Werkzeuge ..."
      '.vector-page-toolbar',
      // Brille + Panel im Header
      'nav.vector-appearance-landmark',
      '#vector-appearance-dropdown',
      // falls die Brille in die Sidebar "angepinnt" wurde
      '#vector-appearance-pinned-container',
      // falls Werkzeuge/Appearance separat gepinnt wurden
      '#vector-page-tools-pinned-container'
    ];
    sels.forEach(function (sel) {
      document.querySelectorAll(sel).forEach(function (el) { el.remove(); });
    });
  }

  // Sofort ausführen …
  nukeToolbarAndAppearance();

  // … und erneut, falls Vector nachträglich DOM-Teile einbaut
  var debounced = mw.util.debounce( nukeToolbarAndAppearance, 50 );
  var mo = new MutationObserver(function (mutations) {
    for (var i = 0; i < mutations.length; i++) {
      if (mutations[i].addedNodes && mutations[i].addedNodes.length) {
        debounced();
        break;
      }
    }
  });
  mo.observe( document.documentElement, { childList: true, subtree: true } );

  // Auch bei Ajax-Nachladungen (z. B. Inhaltswechsel)
  mw.hook( 'wikipage.content' ).add( nukeToolbarAndAppearance );
});