User:Austin J. Che/monobook.js
From OpenWetWare
Jump to navigationJump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* <nowiki> */ /* Based on http://commons.wikimedia.org/w/index.php?title=User:Alphax/monobook.js&action=edit */ /** * Initialises function loading on page load */ if (window.addEventListener) window.addEventListener("load",myLoadFuncs,false); else if (window.attachEvent) window.attachEvent("onload",myLoadFuncs); else { window.oldonload = window.onload; window.onload = function() { window.oldonload(); myLoadFuncs(); } } // based on addButton in wikibits.js function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText) { mwCustomEditButtons[mwCustomEditButtons.length] = {"imageFile": imageFile, "speedTip": speedTip, "tagOpen": tagOpen, "tagClose": tagClose, "sampleText": sampleText}; } function addMyEditButtons() { addCustomButton('/skins/common/images/button_sig.png','Comment format',"*'''~~~~''': ",'',''); addCustomButton('/skins/common/images/button_headline.png','Test css',"<html><style type='text/css'>\n</style></html>",'',''); } // add button to the edit toolbar, this cannot be called in our load function as that appears to be too late // the function that generates the toolbar is also called in a page load hook and it gets called first // this only works in MW 1.7+ //addMyEditButtons(); /** * Loads functions */ function myLoadFuncs() { addEditSection0(); changeTopLinks(); } /** * Adds tabs */ function addlilink(tabs, url, name, id) { var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); li.id = id; li.appendChild(na); tabs.appendChild(li); return li; } /** * Adds an "edit section 0" tab */ function addEditSection0() { ta['ca-edit-0'] = ['', 'Edit the zeroth section of this page']; if(!document.getElementById) return; var x = document.getElementById('ca-edit'); if(!x) return; var y = document.createElement('LI'); y.id = 'ca-edit-0'; if(x.className == 'selected'){ if(/&action=edit§ion=0$/.test(window.location.href)){ x.className = 'istalk'; y.className = 'selected'; } else { x.className = 'selected istalk'; } } else if(x.className == 'selected istalk'){ if(/&action=edit§ion=0$/.test(window.location.href)){ x.className = 'istalk'; y.className = 'selected istalk'; } else { y.className = 'istalk'; } } else { y.className = x.className; x.className = 'istalk'; } var z = document.createElement('A'); if(x.children){ z.href = x.children[0].href + '§ion=0'; z.appendChild(document.createTextNode('0')); y.appendChild(z); document.getElementById('p-cactions').children[1].insertBefore(y,x.nextSibling); }else{ z.href = x.childNodes[0].href + '§ion=0'; z.appendChild(document.createTextNode('0')); y.appendChild(z); document.getElementById('p-cactions').childNodes[3].insertBefore(y,x.nextSibling); } } /** * Changes the top links */ function changeTopLinks() { if(!document.getElementById) return; // remove the "my" bits document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk'; document.getElementById('pt-watchlist').firstChild.innerHTML = 'watchlist'; document.getElementById('pt-mycontris').firstChild.innerHTML = 'contributions'; var toplinks = document.getElementById('p-personal').getElementsByTagName('ul')[0]; addlilink(toplinks, '/index.php?title=User:Austin/monobook.js&action=edit', 'monobook.js', ''); /* // add a clock addlilink(toplinks, '', '', 'utcdate'); showtime(); */ } /** * Makes the clock work */ function showtime() { var timerID; var now = new Date(); // var timeValue = now.toUTCString().replace(/GMT/, "UTC"); var timeValue = now; document.getElementById('utcdate').firstChild.innerHTML = timeValue; timerID = setTimeout('showtime()', 100); } /* </nowiki> */