Hide Chess.com Opponent Ratings

Hide ratings in games, and on your homepage. For those who don't want a constant reminder that their opponent is better (or worse) than them.

  1. // ==UserScript==
  2. // @name Hide Chess.com Opponent Ratings
  3. // @description Hide ratings in games, and on your homepage. For those who don't want a constant reminder that their opponent is better (or worse) than them.
  4. // @namespace http://xyxyx.org/
  5. // @include http://www.chess.com/*
  6. // @version 0.1
  7. // @grant none
  8. // ==/UserScript==
  9.  
  10. try {
  11.  
  12. var elements = document.getElementsByClassName("playerrating");
  13. if (elements) {
  14. for (var i = 0; i < elements.length; i++) {
  15. elements.item(i).style.visibility = 'hidden';
  16. }
  17. }
  18.  
  19. var getElementByXpath = function (path) {
  20. return document.evaluate(path, document, null, 9, null).singleNodeValue;
  21. };
  22.  
  23. var linkPrefix = "http://www.chess.com/members/view/";
  24. var linkPrefixLen = linkPrefix.length;
  25. var ratingPattern = / \([0-9]+\)/;
  26.  
  27. elements = document.getElementById("mv-table-c16").getElementsByTagName("a");
  28. // console.log("Found " + elements.length);
  29. if (elements) {
  30. for (var i = 0; i < elements.length; i++) {
  31. var link = elements.item(i);
  32. //console.log("link = " + link);
  33. if (link && link.href.substring(0, linkPrefixLen) === linkPrefix) {
  34. var next = link.nextSibling;
  35. if (next && next.data) {
  36. //console.log("sibling " + link.href + ": " + next.data);
  37. if (ratingPattern.test(next.data)) {
  38. next.data = next.data.replace(ratingPattern, "");
  39. }
  40. }
  41. }
  42. }
  43.  
  44. }
  45.  
  46. } catch(e) {
  47. console.log("Hide chess.com opponent ratings failed: " + e);
  48. }