/* Watchlist notifier ([[User:Ais523/watchlistnotifier.js]]); displays a message every time a watched page changes. *///<pre><nowiki>varwmwpajax;// From [[WP:US]] mainpage (wpajax renamed to wmwpajax)wmwpajax={download:function(bundle){// mandatory: bundle.url// optional: bundle.onSuccess (xmlhttprequest, bundle)// optional: bundle.onFailure (xmlhttprequest, bundle)// optional: bundle.otherStuff OK too, passed to onSuccess and onFailurevarx=window.XMLHttpRequest?newXMLHttpRequest():window.ActiveXObject?newActiveXObject("Microsoft.XMLHTTP"):false;if(x){x.onreadystatechange=function(){x.readyState==4&&wmwpajax.downloadComplete(x,bundle);};x.open("GET",bundle.url,true);x.send(null);}returnx;},downloadComplete:function(x,bundle){x.status==200&&(bundle.onSuccess&&bundle.onSuccess(x,bundle)||true)||(bundle.onFailure&&bundle.onFailure(x,bundle)||alert(x.statusText+': '+bundle.url));}};// Example:// function dlComplete(xmlreq, data) {// alert(data.message + xmlreq.responseText);// }// wmwpajax.download({url:'http://en.wikipedia.org/w/index.php?title=Thresher&action=raw', // onSuccess: dlComplete, message: "Here's what we got:\n\n" });// End of [[WP:US]] quotefunctionwmWatchEditFound(xmlreq,data){varwatchrev,watchsum,watchrevold,watchpage,junk;if(xmlreq.responseText.indexOf('revid=')==-1){document.getElementById('contentSub').innerHTML+="<div class='watchlistnotify'>(<i>watchlistnotifier can't determine whether a "+"watched page has changed<i>)</div>";return;}watchrev=xmlreq.responseText.split('revid="')[1].split('"')[0];try{watchrevold=document.cookie.split('ais523wmwatchrev=')[1].split('.')[0];}catch(junk){watchrevold=0;}if(mw.config.get('wgPageName')=="Special:Watchlist"){document.cookie="ais523wmwatchrev="+watchrev+".; path=/";varaas=document.getElementById('bodyContent').getElementsByTagName('a');vari=aas.length;while(i--){if(aas[i].href.indexOf('diff=')!=-1&&watchrevold)if(+(aas[i].href.split('diff=')[1].split('&')[0])>watchrevold)aas[i].parentNode.style.fontWeight='bold';}}else{watchsum=xmlreq.responseText.split('comment="')[1].split('"')[0];watchpage=xmlreq.responseText.split('title="')[1].split('"')[0];watchsum=watchsum.split('<').join('<').split('>').join('>');watchpage=watchpage.split('<').join('<').split('>').join('>');if(watchrev!=watchrevold)document.getElementById('contentSub').innerHTML+="<div class='watchlistnotify'>\""+watchpage+'" changed: "'+watchsum+'". (<a href="/wiki/Special:Watchlist">watchlist</a>)</div>';}}$(function(){/* Find the top item in the watchlist, and its edit summary. We only need one item, so set the limit to 1 to ease the load on the server. */wmwpajax.download({url:'http://en.wikipedia.org/w/api.php?action=query&list=watchlist&wllimit=1&'+'wldir=older&format=xml&wlprop=comment|ids|title',onSuccess:wmWatchEditFound});});// </nowiki></pre>