Benutzer:Fomafix/watchlist.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
/** Add dismiss buttons to watchlist-message *************************************
 *
 *  Description: Allows multiple dismiss buttons on div.watchlist-message
 *  Maintainers: [[User:Ruud Koot|Ruud Koot]], [[User:MZMcBride|MZMcBride]], [[User:Merlissimo|Merlissimo]]
 */
( function ( $, mw, undefined ) {
	var css = '';
	document.cookie.split( '; ' )
	.forEach( function ( cookie ) {
		var match = cookie.match( /^dewiki-hidewatchlistmessage-(\d+)=yes$/ );
		if ( match ) {
			css += '#watchlist-message .cookie-ID_' + match[1] + ' { display: none; }\n';
		}
	} );
	if ( css ) {
		mw.util.addCSS( css );
	}

	$( function () {
		mw.util.$content.find( 'div.watchlist-message' )
		.each( function ( index, obj ) {
			var watchlistCookieID = parseInt( obj.className.replace( /.*cookie\-ID\_(\d*).*/ig, '$1' ) );
			if ( isNaN( watchlistCookieID ) ) return;

			var Button     = document.createElement( 'span' );
			var ButtonLink = document.createElement( 'a' );

			ButtonLink.setAttribute( 'id', 'dismissButton' );
			$( ButtonLink ).click( function ( e ) {
				e.preventDefault();
				obj.style.display = 'none';
				$.cookie( 'dewiki-hidewatchlistmessage-' + watchlistCookieID, 'yes', {
					expires: 21,
					path: '/'
				} );
			} );
			ButtonLink.setAttribute( 'title', 'Nachricht ausblenden' );
			ButtonLink.appendChild( document.createTextNode( 'Verbergen' ) );

			Button.setAttribute( 'style', 'font-size:0.6em;float:right;position:relative;padding-right:4px' );
			Button.appendChild( document.createTextNode( '[' ) );
			Button.appendChild( ButtonLink );
			Button.appendChild( document.createTextNode( ']' ) );
			obj.insertBefore( Button, obj.firstChild );
		} );
	} );
}( jQuery, mediaWiki ) );