MediaWiki:Common.js: Unterschied zwischen den Versionen

MediaWiki-Schnittstellenseite
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 6: Zeile 6:
   tempElement.innerHTML = htmlString;
   tempElement.innerHTML = htmlString;
    
    
   if (tempElement.querySelector('div')) {
   if (tempElement.querySelector('div')) { tempElement.querySelector('div').remove(); }
    tempElement.querySelector('div').remove();
  }
    
    
   const paragraphs = tempElement.querySelectorAll('p');
   const paragraphs = tempElement.querySelectorAll('p');


  // Schritt 3: Das letzte <p>-Element entfernen, wenn vorhanden
   const lastParagraph = paragraphs[paragraphs.length - 1];
   const lastParagraph = paragraphs[paragraphs.length - 1];
   if (lastParagraph) {
   if (lastParagraph) { lastParagraph.remove(); }
    lastParagraph.remove();
  }


   // Schritt 4: Das modifizierte HTML zurückgeben
   // Schritt 4: Das modifizierte HTML zurückgeben

Version vom 5. August 2023, 14:42 Uhr

/* Das folgende JavaScript wird für Benutzer des Citizen-Skins geladen */

function removeFirstDiv(htmlString) {
  // Schritt 1: Ein temporäres DOM-Element erstellen
  const tempElement = document.createElement('div');
  tempElement.innerHTML = htmlString;
  
  if (tempElement.querySelector('div')) { tempElement.querySelector('div').remove(); }
  
  const paragraphs = tempElement.querySelectorAll('p');

  const lastParagraph = paragraphs[paragraphs.length - 1];
  if (lastParagraph) { lastParagraph.remove(); }

  // Schritt 4: Das modifizierte HTML zurückgeben
  return tempElement.innerHTML;
}

// Überprüfe, ob die Meldung bereits auf der aktuellen Seite geladen wurde
if (!$('.global-message').length) {
    // Lade den Inhalt der "MediaWiki:GlobalMessage"-Seite asynchron
    $.ajax({
        url: mw.util.getUrl('MediaWiki:GlobalMessage', { action: 'render' }), // action=render, um nur den Inhalt zu erhalten
        dataType: 'html'
    }).done(function(data) {
        // Füge den Inhalt der "MediaWiki:GlobalMessage"-Seite am Anfang des Inhaltsbereichs hinzu
        $('#mw-content-text').prepend('<div class="global-message" style="margin-bottom: 10px">' + removeFirstDiv(data) + '</div>');
    });
}