Benutzer:PDD/hideduplicatecontribs.js
Erscheinungsbild
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
if ( wgCanonicalSpecialPageName == "Contributions" ) addOnloadHook( function() {
var monthsel = document.getElementById( 'month' );
if( !monthsel ) return;
var content = document.getElementById( 'bodyContent' )
|| document.getElementById( 'mw_contentholder' ) || document.getElementById( 'article' )
var list = content.getElementsByTagName( 'ul' );
if (list.length == 0) return;
list = list[list.length - 1]; // Last one should (hopefully) be the contribs list in most cases
var span = document.createElement( 'span' );
span.style.marginLeft = '1em';
span.appendChild( document.createTextNode( 'Doppeleinträge ausblenden' ) );
var cbdupl = document.createElement( 'input' );
cbdupl.type = 'checkbox';
span.appendChild( cbdupl );
span.appendChild( document.createTextNode( 'aktuelle Beiträge ausblenden' ) );
var cbtop = document.createElement( 'input' );
cbtop.type = 'checkbox';
span.appendChild( cbtop );
function refreshContribs() {
var li = list.getElementsByTagName( 'li' );
var titles = {};
for ( var i=0; i < li.length; i++ ) {
var link = li[i].getElementsByTagName( 'a' )[0];
var strong = getElementsByClassName( li[i], 'span', 'mw-uctop' );
if ( ( titles[link.title] && cbdupl.checked ) || ( strong.length && cbtop.checked ) )
li[i].style.display = 'none';
else li[i].style.display = 'list-item';
titles[link.title] = true;
}
}
cbdupl.onclick = refreshContribs;
cbtop.onclick = refreshContribs;
monthsel.parentNode.parentNode.appendChild( span );
});