MediaWiki:Common.js: Unterschied zwischen den Versionen

MediaWiki-Schnittstellenseite
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
/* Das folgende JavaScript wird für Benutzer des Citizen-Skins geladen */
/* Das folgende JavaScript wird für Benutzer aller Skins geladen */


function removeUnusedStuff(html) {
function removeUnusedStuff(html) {
Zeile 17: Zeile 17:
if (!$('.global-message').length) {
if (!$('.global-message').length) {
    $.ajax({
    $.ajax({
        url: mw.util.getUrl('MediaWiki:GlobalMessage', { action: 'render' }), // action=render, um nur den Inhalt zu erhalten
        url: mw.util.getUrl('Spezial:Meine_Sprache/MediaWiki:GlobalMessage', { action: 'render' }), // action=render, um nur den Inhalt zu erhalten
        dataType: 'html'
        dataType: 'html'
    }).done(function(data) {
    }).done(function(data) {

Aktuelle Version vom 6. August 2023, 13:14 Uhr

/* Das folgende JavaScript wird für Benutzer aller Skins geladen */

function removeUnusedStuff(html) {
  const tempElement = document.createElement('div');
  tempElement.innerHTML = html;
  
  if (tempElement.querySelector('div')) { tempElement.querySelector('div').remove(); }
  
  const lastParagraph = tempElement.querySelectorAll('p')[tempElement.querySelectorAll('p').length - 1];
  if (lastParagraph) { lastParagraph.remove(); }

  return tempElement.innerHTML;
}

function loadGlobalMessage() {
	// Überprüfe, ob die Meldung bereits auf der aktuellen Seite geladen wurde
	if (!$('.global-message').length) {
	    $.ajax({
	        url: mw.util.getUrl('Spezial:Meine_Sprache/MediaWiki:GlobalMessage', { action: 'render' }), // action=render, um nur den Inhalt zu erhalten
	        dataType: 'html'
	    }).done(function(data) {
	    	if (data.includes("disabled")) return;
	        $('#mw-content-text').prepend('<div class="global-message" style="margin-bottom: 10px">' + removeUnusedStuff(data) + '</div>');
	    });
	}
}

loadGlobalMessage();