MediaWiki:Gadget-NetDiffSinceLastVisitedWL.js
Utseende
OBS: Efter du har publicerat sidan kan du behöva tömma din webbläsares cache för att se ändringarna.
- Firefox / Safari: Håll ned Skift och klicka på Uppdatera sidan eller tryck Ctrl-F5 eller Ctrl-R (⌘-R på Mac)
- Google Chrome: Tryck Ctrl-Skift-R (⌘-Skift-R på Mac)
- Edge Håll ned Ctrl och klicka på Uppdatera eller tryck Ctrl-F5.
- Opera: Tryck Ctrl-F5.
$( function() {
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) != 'Watchlist') {
return;
}
var nd = $( '<span><a title="Nettodiff sedan senaste besöket" href="#">nd</a></span>' );
nd.click( function( e ) {
e.preventDefault();
var target = $( this ).parents( '.mw-changeslist-line-inner' ).attr( 'data-target-page' );
var api = new mw.Api();
api.get( {
action: 'query',
prop: 'info',
inprop: 'notificationtimestamp',
titles: target,
format: 'json'
} ).then( function( d ) {
var timestamp,
p;
if ( !d.query || !d.query.pages ) {
return $.Deferred().reject( 'no query or pages' );
}
for ( p in d.query.pages ) {
timestamp = d.query.pages[ p ].notificationtimestamp;
}
if ( !timestamp ) {
return $.Deferred().reject( 'no notificationtimestamp' );
}
return api.get( {
action: 'query',
prop: 'revisions',
titles: target,
rvstart: timestamp,
rvlimit: 1,
format: 'json'
} );
} ).done( function( d ) {
var oldid,
p;
if ( !d.query || !d.query.pages ) {
return $.Deferred().reject( 'get revisions error' );
}
for ( p in d.query.pages ) {
if ( !d.query.pages[ p ].revisions ) {
return $.Deferred().reject( 'no revisions' );
}
oldid = d.query.pages[ p ].revisions[ 0 ].parentid;
}
if ( !oldid ) {
return $.Deferred().reject( 'no oldid' );
}
window.location.href ="https://sv.wikipedia.org/w/index.php?diff=cur&oldid=" + oldid;
} ).fail( function( f ) {
console.log( "Net diff fail: " + f );
} );
} );
$( '.mw-changeslist-watchedunseen.mw-changeslist-edit .mw-changeslist-links:first-child' ).append( nd );
});