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;
};
*/
Navigation
generic heading