User:SoledadKabocha/cancelRedirectNo.js

/* If you want to use this script, simply add the following line to your common.js or skin.js: importScript('User:SoledadKabocha/cancelRedirectNo.js'); // Linkback: User:SoledadKabocha/cancelRedirectNo.js var CancelRedirectNoFuncs = { reportError:function( errStr ) { if ( !window.logErrorsFromCancelRedirectNo ) return; // hopefully less confusing than "CancelRedirectNoLogErrors" if ( window.console === undefined || typeof(window.console.error) != 'function' ) throw new Error( errStr ); window.console.error( errStr ); return; },
 * (Please keep the comment so I can see how many people use this).

checkIfRedirect:function( r, sts, xhr ) { if ( !r.query ) { CancelRedirectNoFuncs.reportError( 'cancelRedirectNo: API error while editing ' + wgPageName ); return; }       if ( !r.query.pages ) { CancelRedirectNoFuncs.reportError( 'cancelRedirectNo: API did not find page titled ' + wgPageName ); return; }       if ( !r.query.pages[wgArticleId+''] ) { CancelRedirectNoFuncs.reportError( 'cancelRedirectNo: API did not find page with title ' + wgPageName + ' and id ' + wgArticleId ); return; }       if ( r.query.pages[wgArticleId+''].redirect !== undefined ) { var cancLink = $( '#mw-editform-cancel' ); var origHref = ''; if ( cancLink ) { origHref = cancLink.attr( 'href' ); } else { CancelRedirectNoFuncs.reportError( 'cancelRedirectNo: Cancel link not found while editing ' + wgPageName ); } if ( origHref ) cancLink.attr( 'href', origHref + ( origHref.indexOf('?') == -1 ? '?' : '&' ) + 'redirect=no' ); }   } };

if ( ( wgAction == 'edit' || wgAction == 'submit' ) && wgArticleId != 0 ) { $( document ).ready( function {       var q = {            format:'json',            action:'query',            titles:wgPageName.replace(/_/g, ' '),            prop:'info'        };        $.ajax( { url:mw.util.wikiScript('api'), dataType:'json', type:'POST', data:q, rawdata:q, success:CancelRedirectNoFuncs.checkIfRedirect, error:function( xhr, textStatus, errorThrown ) { CancelRedirectNoFuncs.reportError( 'cancelRedirectNo: AJAX error: ' + textStatus + ' ' + errorThrown + ', while editing ' + wgPageName ); }       } );    } ); }