User:Gracenotes/monobook.js
From Wikipedia
< User:Gracenotes
Note: After saving, you may have to bypass your browser's cache to see the changes. Mozilla / Firefox / Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R (Cmd-Shift-R on Apple Mac); IE: hold Ctrl while clicking Refresh, or press Ctrl-F5; Konqueror:: simply click the Reload button, or press F5; Opera users may need to completely clear their cache in Tools→Preferences.
/* code's in messy state, TODO pull it all together
addOnloadHook( addTabForCheck );
function addTabforCheck() {
if (wgNamespaceNumber >= 0) {
addPortletLink('p-cactions', "javascript:checkChange()", "check changes", 'ca-checkchange', 'Check if this page has been modified since you loaded it');
}
else if (wgPageName == 'Special:Contributions') {
addPortletLink('p-cactions', "javascript:checkContribChange()", "check changes", 'ca-checkchange', 'Check if the user has edited another page since this page loaded');
}
}
var infoXML, goodRevName;
function checkChange() {
if ( wgIsArticle )
var query = {
'action': 'query',
'prop': 'revisions',
'titles': wgPageName,
'rvlimit': 1,
'rvprop': 'content',
'rvstartid': goodRev.getAttribute( 'revid' ),
'format': 'xml'
}
Status.debug( 'query:' + query.toSource() );
infoXML = sajax_init_object();
infoXML.overrideMimeType('text/xml');
infoXML.onreadystatechange = tehXMLPage;
infoXML.open('GET',wgServer+wgScriptPath+ '/api.php?action=query&prop=revisions&rvprop=timestamp|user|content&rvlimit=1');
infoXML.send(null);
}
function tehXMLPage() {
if (infoXML.readyState != 4 ) {
return;
}
if (infoXML.status != 200 ) {
return;
}
if(!(goodRevInfo = revertXML.responseXML.documentElement)) {
return;
}
var name = goodRevInfo.getElementsByTagName('rev').user;
var tstamp = goodRevInfo.getElementsByTagName('rev').timestamp;
}
//regex used to determine presence of query string, from Lupin's pop ups
function query_get(paramName) {
var cmdRe=RegExp('[&?]'+paramName+'=([^&]*)');
var h=document.location;
var m;
if (m=cmdRe.exec(h)) {
try {
return unescape(m[1]);
} catch (someError) {}
}
return null;
};
*/

