Benutzer:P.Copp/scripts/wlchanges.js
aus Wikipedia, der freien Enzyklopädie
< Benutzer:P.Copp | scripts
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 10. April 2010 um 15:30 Uhr durch imported>Euku(108107) (Fix von Benutzer_Diskussion:P.Copp/scripts/wlchanges.js#Wunsch: "Alle ausblenden" wurde nicht gespeichert).
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
if( wgCanonicalSpecialPageName == 'Watchlist' ) addOnloadHook( function() {
var content = document.getElementById( 'bodyContent' )
|| document.getElementById( 'mw_contentholder' ) || document.getElementById( 'article' );
var uls = getElementsByClassName( content, 'ul', 'special' );
var h4 = content.getElementsByTagName( 'h4' )[0];
var showlink = document.createElement( 'a' );
showlink.appendChild( document.createTextNode( 'Alle anzeigen' ) );
showlink.href = '#';
showlink.onclick = function() {
for( var i = 0; i < uls.length; i++ ) {
var lis = uls[i].getElementsByTagName( 'li' );
for( var j = 0; j < lis.length; j++ ) lis[j].style.display = 'list-item';
}
document.cookie = 'wlchangesrevid=0; expires=Tue, 01 Jan 2030 00:00:00 GMT';
showlink.style.display = 'none';
hidelink.style.display = 'inline';
return false;
};
showlink.style.display = 'none';
showlink.style.marginLeft = '1em';
h4.appendChild( showlink );
var hidelink = showlink.cloneNode( false );
hidelink.appendChild( document.createTextNode( 'Alle ausblenden' ) );
hidelink.onclick = function() {
var toprevid = getRevId(uls[0].getElementsByTagName('li')[0]);
hideAllBefore(toprevid);
document.cookie = 'wlchangesrevid='+toprevid+'; expires=Tue, 01 Jan 2030 00:00:00 GMT';
return false;
};
h4.appendChild( hidelink );
function getRevId( li ) {
var links = li.getElementsByTagName( 'a' );
for( var i = 0; i < links.length; i++ ) {
var revid = links[i].href.match( /&diff=([^&]*)/ );
if( revid ) return revid[1];
}
}
function hideAllBefore( revid ) {
var hide = false;
hidelink.style.display = 'none';
for( var i = 0; i < uls.length; i++ ) {
var lis = uls[i].getElementsByTagName( 'li' );
for( var j = 0; j < lis.length; j++ ) {
if( !hide ) {
var id = getRevId( lis[j] );
if( id && id <= revid ) hide = true;
}
if( hide ) lis[j].style.display = 'none';
else hidelink.style.display = 'inline';
}
}
if( hide ) showlink.style.display = 'inline';
}
function createHideLink( revid ) {
var span = document.createElement( 'span' );
span.appendChild( document.createTextNode( '(' ) );
var link = document.createElement( 'a' );
link.appendChild( document.createTextNode( 'g' ) );
link.title = 'Eintrag und alle früheren als gelesen markieren';
link.href = '#';
link.onclick = function() {
hideAllBefore( revid );
document.cookie = 'wlchangesrevid='+revid+'; expires=Tue, 01 Jan 2030 00:00:00 GMT';
return false;
};
span.appendChild( link );
span.appendChild( document.createTextNode( ')' ) );
return span;
}
for( var i = 0; i < uls.length; i++ ) {
var lis = uls[i].getElementsByTagName( 'li' );
for( var j = 0; j < lis.length; j++ ) {
var revid = getRevId( lis[j] );
if( revid ) lis[j].insertBefore( createHideLink( revid ), lis[j].firstChild );
}
}
var revid = document.cookie.match( /wlchangesrevid=([^;]*)/ );
if( revid ) hideAllBefore( revid[1] );
});