User:WhyBeNormal/monobook.js
From Wikipedia, the free encyclopedia
If a message on your talk page led you here, please be wary of who left it. Code that you insert on this page could contain malicious content capable of compromising your account. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. If this is a .js page, the code will be executed when previewing the page.
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
//Interiot's javascript edit counter if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) { document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } //Edit and "revert to" JS //addOnloadHook(adddifflinks) function adddifflinks() { var editlink = '<strong><span style="color:black;">[</span>edit this version<span style="color:black;">]</span></strong> '; var rvname = ' <strong><span style="color:black;">[</span><span style="color:red;">restore this revision</span><span style="color:black;">]</span></strong><br>'; var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML; if (location.href.indexOf('diff=') != -1 && location.href.indexOf('&oldid=') != -1) { var doctd = document.getElementById('bodyContent').getElementsByTagName('td'); var good_user = doctd[0].getElementsByTagName('a')[2].innerHTML; var link = doctd[0].getElementsByTagName('a')[0].href.replace('&','&') + "&action=edit"; var rvlink = doctd[0].getElementsByTagName('a')[0].href.replace('&','&') + "&action=edit&fakeaction=autorevert&byuser=" + escape(user_name) + "&oldrvtouser=" + escape(good_user); document.getElementById('bodyContent').getElementsByTagName('td')[0].innerHTML = '<a href="' + rvlink + '">' + rvname + '</a>' + document.getElementById('bodyContent').getElementsByTagName('td')[0].innerHTML; } } //END addOnloadHook(IEhistory_revert) function IEhistory_revert() { if (location.href.indexOf('&action=history&limit=8&fakeaction=IEnormalrevert&user=') != -1) { var found = 0; var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML; if (unescape(location.href.split('&byuser=')[1]) != user_name){alert('Invalid user match'); return;} var vandal = unescape(location.href.split('&fakeaction=IEnormalrevert&user=')[1].split('&byuser=')[0]); var l = document.getElementsByTagName('li'); if (l[0].getElementsByTagName('a')[2].innerHTML != vandal) {alert('Could not rollback. Last contributor has changed.'); return;} for (i = 1; i < l.length; i++) { if (!l[i].getElementsByTagName('a')[3]){alert('Could not find a version of this page that is not by the user you attempted to rollback from.' + '\n' + 'Most likely, the user is the only author of the page.' + '\n' + 'This revert function only looks at the last 6 page edits, so you may want to look back further and use "restore".'); history.go(-1); return;} if (l[i].getElementsByTagName('a')[3].innerHTML != vandal) { var good_user = l[i].getElementsByTagName('a')[3].innerHTML; var URL = l[i].getElementsByTagName('a')[2].href + "&action=edit&fakeaction=autorevert&byuser=" + escape(user_name) + "&oldrvtouser=" + escape(good_user) + "&revertfromuser=" + escape(vandal); location.href = URL; found = 1; break; } } if (found == 0) {alert('Could not find a version of this page that is not by the user you attempted to rollback from.' + '\n' + 'Most likely, the user is the only author of the page.' + '\n' + 'This revert function only looks at the last 6 page edits, so you may want to look back further and use "restore".'); history.go(-1);} } if (location.href.indexOf('&action=history&limit=8&fakeaction=IErollback&vandal=') != -1) { var found = 0; var user_name = document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML; if (unescape(location.href.split('&byuser=')[1]) != user_name){alert('Invalid user match'); return;} var vandal = unescape(location.href.split('&fakeaction=IErollback&vandal=')[1].split('&byuser=')[0]); var l = document.getElementsByTagName('li'); if (l[0].getElementsByTagName('a')[2].innerHTML != vandal) {alert('Could not rollback vandal. Last contributor has changed.'); return;} for (i = 1; i < l.length; i++) { if (!l[i].getElementsByTagName('a')[3]){alert('Could not find a version of this page that is not by the user you attempted to rollback from.' + '\n' + 'Most likely, the user is the only author of the page.' + '\n' + 'This revert function only looks at the last 6 page edits, so you may want to look back further and use "restore".'); history.go(-1); return;} if (l[i].getElementsByTagName('a')[3].innerHTML != vandal) { var good_user = l[i].getElementsByTagName('a')[3].innerHTML; var URL = l[i].getElementsByTagName('a')[2].href + "&action=edit&fakeaction=autorevertvandal&byuser=" + escape(user_name) + "&oldrvtouser=" + escape(good_user) + "&revertfromuser=" + escape(vandal); location.href = URL; found = 1; break; } } if (found == 0) {alert('Could not find a version of this page that is not by the user you attempted to rollback from.' + '\n' + 'Most likely, the user is the only author of the page.' + '\n' + 'This revert function only looks at the last 6 page edits, so you may want to look back further and use "restore".'); history.go(-1);} } } //END function autosave() { user_name = escape(document.getElementById('pt-userpage').getElementsByTagName('a')[0].innerHTML); if (location.href.indexOf("&fakeaction=autorevert&byuser=" + user_name) != -1 || location.href.indexOf("&fakeaction=autorevertvandal&byuser=" + user_name) != -1) { if (location.href.indexOf('&revertfromuser') == -1 && location.href.indexOf('&fakeaction=autorevertvandal') == -1) { var message = "Are you sure you want to revert to this revision?"; var return_value = confirm(message); if (return_value != true){history.go(-1); return;} } var good_user = unescape(location.href.split("&oldrvtouser=")[1].split('&revertfromuser=')[0]); var ID = location.href.split("&oldid=")[1].split("&action=edit")[0]; form = document.getElementById('bodyContent'); l = form.getElementsByTagName('input'); for (i = 0; i < l.length; i++) { if (l[i].name == 'wpMinoredit') {l[i].value = '1'; l[i].checked=true;} } if (location.href.indexOf('&fakeaction=autorevertvandal') != -1) { var artname = document.title.split('Editing ')[1].split(' - ')[0]; var vandal = unescape(location.href.split('&revertfromuser=')[1]); document.editform.wpSummary.value += 'JS: Reverted [[WP:VAND|vandalism]] by [[Special:contributions/' + vandal + '|' + vandal + ']] to last version by ' + good_user + '.'; var form = document.getElementById('editform'); window.open('http://en.wikipedia.org/w/index.php?title=User talk:' + vandal + '&action=edit' + '&action=edit&vanarticle=' + artname, 'targetname', 'location=no,toolbar=no,status=no,directories=no,scrollbars=yes,width=1024,height=768'); form.submit(); } else if (location.href.indexOf('&revertfromuser=') != -1) { var vandal = unescape(location.href.split('&revertfromuser=')[1]); document.editform.wpSummary.value += 'JS: Reverted edits by [[Special:contributions/' + vandal + '|' + vandal + ']] to last version by ' + good_user + '.'; var form = document.getElementById('editform'); form.submit(); } else { document.editform.wpSummary.value += 'JS: Revert to revision ' + ID + ' by [[User:' + good_user + '|' + good_user + ']].'; var form = document.getElementById('editform'); form.submit(); } } } //END //Revert options addOnloadHook(NArevertfunctions) function NArevertfunctions() { adddifflinks(); autosave(); } // Script from [[User:Lupin/recent2.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/recent2.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //This code will change ISBN links to point to the url of your choice, //instead of Special:Book_sources. // //How to use it: // //First, you must copy this code to your user javascript page. This is //at User:<your username>/monobook.js . My username is Lunchboxhero so //my javascript page is User:Lunchboxhero/monobook.js . You must be logged //in to edit your javascript page. // //Once you have copied the code and saved the page, you need to refresh your //browser's cache. For Mozilla/Safari/Konqueror: hold down Shift while clicking //Reload (or press Ctrl-Shift-R), IE: press Ctrl-F5, Opera: press F5. // //The code should now work, as long as you are logged in. // //You can change the destination url by simply modifying the quoted url that //follows document.links[i].href= // //Good luck, and if you have any questions, leave me a comment on the discussion //page of User:Lunchboxhero/monobook.js . // //(Every line that starts with "//" is a comment and can be discarded.) function externISBN() { for (var i = 0; i < document.links.length; i++) { var ln = document.links[i].href.match(/isbn=(.*)/); if (ln) { document.links[i].href='http://www.amazon.com/exec/obidos/ASIN/'+RegExp.$1; } } } addOnloadHook(externISBN); // This will add an [edit top] link at the top of all pages except preview pages // by User:Pile0nades setTimeout("editTopLink()", 0) // this is equivalent of onload function editTopLink() { // if this is preview page or generated page, stop if(document.getElementById("wikiPreview") || window.location.href.indexOf("w/index.php?title=Special:") != -1) return; // get the page title var pageTitle = document.title.split(" - ")[0].replace(" ", "_"); // create div and set innerHTML to link var divContainer = document.createElement("div"); divContainer.innerHTML = '<div class="editsection" style="float:right;margin-left:5px;margin-top:3px;">[<a href="/w/index.php?title='+pageTitle+'&action=edit§ion=0" title="'+document.title.split(" - ")[0]+'">edit top</a>]</div>'; // insert divContainer into the DOM before the h1 document.getElementById("content").insertBefore(divContainer, document.getElementsByTagName("h1")[0]); }