User:Zocky/monobook.js
From Wikipedia
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.
// [[User:Zocky/foo.js]] document.write('<script type="text/javascript" src="' + 'http://test.wikipedia.org/w/index.php?title=User:Zocky/foolib.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); document.write('<link rel="stylesheet" type="text/css" href="' + 'http://test.wikipedia.org/w/index.php?title=User:Zocky/foo.css' + '&action=raw&ctype=text/css&dontcountme=s">'); addLoadEvent (fooInit); function fooInit() { if ($('foo-application')) { $('foo-application').style.display='none'; insert$('<div style="border:green solid 1px;background:#dfd;margin:1em;padding:1em;" id="foo-run"><center><b>This page contains an embedded application. If you trust the maintainer(s) of the page, you can <a href="javascript:fooRun()">run it</a>.</b></center></div>','top','content'); } } function fooRun() { $('foo-run').style.display="none"; window['foo']=[]; foo['autorun']=[]; foo['xslt']=[]; fooProcessPage(); } function fooProcessPage() { var fooTags=x$nodes("//div[contains(@class,'foo-wrapper') and not(@unwrapped='true')]"); for ( var j=0 ; j < fooTags.snapshotLength; j++ ) { var fooTag=fooTags.snapshotItem(j); fooTag.innerHTML=fooTag.innerHTML.replace(/</g,'<').replace(/>/g,'>'); attr$(fooTag,'unwrapped','true'); } var fooTags=x$nodes("//div[contains(@class,'foo-autorun') and not (@unwrapped='true')]"); for ( var j=0 ; j < fooTags.snapshotLength; j++ ) { try { var fooTag=fooTags.snapshotItem(j); if (!(fooTag.id in foo.autorun)) { var fooText=fooTag.textContent; fooTag.innerHTML='<textarea>'+fooText+'</textarea>'; eval (fooText); foo.autorun[fooTag.id]=fooText; } attr$(fooTag,'unwrapped','true'); } catch (e) {alert ("autorun "+fooTag.id+":\n"+e.message)} } var fooTags=x$nodes("//div[contains(@class,'foo-xslt')]"); for ( var j=0 ; j < fooTags.snapshotLength; j++ ) { try { var fooTag=fooTags.snapshotItem(j); var fooText=fooTag.innerHTML.replace(/</g,'<').replace(/>/g,'>'); fooTag.innerHTML='<textarea>'+fooText+'</textarea>'; window.foo.xslt[fooTag.id]=x$proc(fooText); } catch (e) {alert ("xslt "+fooTag.id+":\n"+e.message)} } }