User:Nx/Scripts/botrollback.js

From RationalWiki
Jump to navigation Jump to search

Note: After saving, 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: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
function botrollback() {
  var rollbacklinks = getElementsByClassName(document.getElementById('bodyContent'),"*","mw-rollback-link");
  var botrblinks = new Array();
  for (var j = 0; j< rollbacklinks.length; j++) {
      var rbbs = document.createElement('span');
      var rba = rollbacklinks[j].getElementsByTagName('a')[0];
      var rbba = document.createElement('a');
      rbba.innerHTML = "bot rollback";
      rbba.href = rba.href + '&bot=1';
      if ( rollbacklinks[j].innerHTML[0] == "[" ) rbbs.appendChild(document.createTextNode("["));
      rbbs.appendChild(rbba);
      if ( rollbacklinks[j].innerHTML[rollbacklinks[j].innerHTML.length-1] == "]" ) rbbs.appendChild(document.createTextNode("]"));
      if (rollbacklinks[j].nextSibling == undefined) {
        rollbacklinks[j].parentNode.appendChild(document.createTextNode(" "));
        rollbacklinks[j].parentNode.appendChild(rbbs);
      } else {
        rollbacklinks[j].parentNode.insertBefore(rbbs,rollbacklinks[j].nextSibling);
        rollbacklinks[j].parentNode.insertBefore(document.createTextNode(rbbs.nextSibling.textContent),rbbs);
      }
      botrblinks.push(rbbs);
  }
  for (var j = 0; j< botrblinks.length; j++) {
    botrblinks[j].className = "mw-rollback-link";
  }
}

addOnloadHook(botrollback);