GameFAQs post numberer

Numbers posts on gameFAQs.

目前为 2014-05-15 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name GameFAQs post numberer
  3. // @version 1
  4. // @author King of Cats
  5. // @namespace Cats
  6. // @description Numbers posts on gameFAQs.
  7. // @include http://www.gamefaqs.com/boards/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. // The script assumes you have GameFAQs' numbering disabled; probably doubles up on post numbers or breaks otherwise.
  12.  
  13. var postNumbers = document.evaluate('//td[contains(@class,"author")]//a[@name]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
  14.  
  15. if (postNumbers.snapshotItem(0) != null) {
  16. function padMe(num) {
  17. var pad = num + '';
  18. while(pad.length < 3) {
  19. pad = "0" + pad;
  20. }
  21. return pad;
  22. }
  23. for (var i = 0; i < postNumbers.snapshotLength; i++) {
  24. var number = postNumbers.snapshotItem(i).getAttribute("name");
  25. var leftOfMessage = (document.getElementsByClassName("msg_stats_left")[0] != null);
  26. if (!leftOfMessage) {
  27. var appendedDivider = document.createTextNode(" | ");
  28. postNumbers.snapshotItem(i).parentNode.appendChild(appendedDivider);
  29. var appendedNumber = document.createTextNode("#"+padMe(number));
  30. postNumbers.snapshotItem(i).parentNode.appendChild(appendedNumber);
  31. } else {
  32. var appendedNumber = document.createTextNode("#"+padMe(number));
  33. var lineBreak = document.createElement("br");
  34. postNumbers.snapshotItem(i).parentNode.insertBefore(lineBreak,postNumbers.snapshotItem(i).parentNode.childNodes[0]);
  35. postNumbers.snapshotItem(i).parentNode.insertBefore(appendedNumber,postNumbers.snapshotItem(i).parentNode.childNodes[0]);
  36. }
  37. }
  38. }