MediaWiki:Common.js

Aus Phoenix-Larp Wiki

Version vom 9. September 2026, 05:03 Uhr von Becko (Diskussion | Beiträge) (Robusteren MediaWiki-Kernhook (wikipage.editform / ve.activationComplete) statt eigener Edit-Erkennung verwenden)

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/* Das Burger-Menü-JavaScript, der Admin-Link zu den Spezialseiten und die 'Anmelden'-Beschriftung für abgemeldete Besucher wurden in den PhoenixSkin-Fork übernommen (resources/phoenix-custom.js) und hier entfernt, da PhoenixSkin seit 2026-09-08 der Standard-Skin des Wikis ist. */

/* Hinweis auf den Redaktionsleitfaden im Bearbeiten-Modus (klassischer
   Wikitext-Editor und VisualEditor). Bewusst hier in Common.js statt im
   Skin hinterlegt, damit Text und Ziel-Seite direkt im Wiki gepflegt
   werden koennen, ohne den Skin anzufassen. Nutzt die MediaWiki-Kernhooks
   'wikipage.editform' (klassischer Editor, feuert auch bei AJAX-Nachladen)
   und 've.activationComplete' (VisualEditor), statt selbst zu raten, wann
   der Bearbeiten-Modus aktiv ist. */
( function () {
	function insertNotice( $anchor ) {
		if ( document.getElementById( 'phoenix-editnotice-leitfaden' ) ) {
			return;
		}
		var href = mw.util.getUrl( 'Phoenix_Larp_Wiki:Wiki-Projekt/Redaktionsleitfaden' );
		var $notice = $( '<div>', { id: 'phoenix-editnotice-leitfaden' } ).append(
			$( '<span>' ).text( 'Bitte beachte beim Bearbeiten den ' ),
			$( '<a>', { href: href, text: 'Redaktionsleitfaden' } ),
			$( '<span>' ).text( '.' )
		);
		$anchor.before( $notice );
	}

	// Klassischer Wikitext-Editor (Aktion "edit"/"submit"): Kernhook, der
	// beim Anzeigen des Bearbeitungsformulars feuert.
	mw.hook( 'wikipage.editform' ).add( function ( $editForm ) {
		insertNotice( $editForm );
	} );

	// VisualEditor: eigener Aktivierungs-Hook, da dort kein klassisches
	// Bearbeitungsformular existiert.
	mw.hook( 've.activationComplete' ).add( function () {
		var $heading = $( '#firstHeading' );
		if ( $heading.length ) {
			insertNotice( $heading );
		}
	} );
}() );