Benutzer:TMg/specialVersionLinks.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
$( function () {

	// Prev
	$( '.mw-history-histlinks > span:nth-child(2) a' ).each( function ( i, a ) {
		a.href = a.href.replace(
			/\bw\/(?:index\.php)?\?(?:title=[^&]*&)?diff=(\d+)&oldid=\d+$/,
			'wiki/Special:Diff/$1'
		);
	} );

	$( 'a[href*="diff="]' ).each( function ( i, a ) {
		a.href = a.href.replace(
			/\/w\/(?:index\.php)?\?(?:title=[^&]*&)?diff=prev&oldid=(\d+)$/,
			'/wiki/Special:Diff/$1'
		).replace(
			/\/w\/(?:index\.php)?\?(?:title=[^&]*&)?diff=next&oldid=(\d+)$/,
			'/wiki/Special:Diff/$1/next'
		).replace(
			/\/w\/(?:index\.php)?\?(?:title=[^&]*&)?diff=(\d+)&oldid=(\d+)$/,
			'/wiki/Special:Diff/$2/$1'
		);
	} );

	if ( history.replaceState && /\bdiff=/.test( location.search ) ) {
		var url = location.href;

		var nextLink = $( '#mw-diff-ntitle1 strong > a' );
		if ( /\bdiff=next\b/.test( location.search ) && nextLink.length ) {
			var match = nextLink[0].search.match(/\boldid=(\d+)$/ );
			if ( match ) {
				url = url.replace(
					/\/w\/(?:index\.php)?\?.*\b(?:diff=next&oldid=\d+|oldid=\d+&diff=next)(?:&diffmode=\w*)?$/,
					'/wiki/Special:Diff/' + match[1]
				);
			}
		}

		url = url.replace(
			/\/w\/(?:index\.php)?\?.*\bdiff=(\d+)&oldid=(\d+)(?:&diffmode=\w*)?$/,
			'/wiki/Special:Diff/$2/$1'
		).replace(
			/\/w\/(?:index\.php)?\?.*\boldid=(\d+)&diff=(\d+)(?:&diffmode=\w*)?$/,
			'/wiki/Special:Diff/$1/$2'
		).replace(
			/\/w\/(?:index\.php)?\?diff=(\d+)(?:&diffmode=\w*)?$/,
			'/wiki/Special:Diff/$1'
		);

		if ( url !== location.href ) {
			history.replaceState( history.state, document.title, url );
		}
	}

} );