4chan Plus Minus

A simpler Image Viewer & Hider. Adds a cute plus or minus.

  1. // ==UserScript==
  2. // @name 4chan Plus Minus
  3. // @version 1.0.0
  4. // @description A simpler Image Viewer & Hider. Adds a cute plus or minus.
  5. // @include http://boards.4chan.org/*
  6. // @include https://boards.4chan.org/*
  7. // @namespace https://greasyfork.org/users/3159
  8. // @run-at document-end
  9. // ==/UserScript==
  10. window.addEventListener('load', function () {
  11.  
  12. var path = document.location.pathname.split("/");
  13.  
  14. if (path[2] == "thread") {
  15.  
  16. c = 0;
  17.  
  18. function xc(q, r) {
  19. a = document.getElementsByClassName("boardList");
  20. a[0].insertAdjacentHTML(q, r);
  21. a[1].insertAdjacentHTML(q, r);
  22. b = document.getElementsByClassName("customBoardList");
  23. if (b[0]) {
  24. b[0].insertAdjacentHTML(q, r);
  25. b[1].insertAdjacentHTML(q, r);
  26. }
  27. }
  28.  
  29. function hide() {
  30. if (document.getElementsByClassName('expanded-thumb').length) {
  31. disable = document.getElementsByClassName('expanded-thumb')[0];
  32. disable.remove();
  33. setTimeout(hide, 10);
  34. }
  35. }
  36.  
  37. function hide2() {
  38. if (document.getElementsByClassName('collapseWebm').length) {
  39. disable2 = document.getElementsByClassName('collapseWebm')[0].children[0];
  40. disable2.remove();
  41. setTimeout(hide2, 10);
  42. }
  43. }
  44.  
  45. function tigger() {
  46.  
  47. c = c ? 0 : 1;
  48.  
  49. if (c) {
  50. pics = document.getElementsByClassName('fileThumb');
  51. for (i = 0; i < pics.length; i++) {
  52. pics[i].children[0].click();
  53. }
  54. for (i = 0; i < s2.length; i++) {
  55. s2[i].innerText = "-";
  56. }
  57. } else {
  58. hide();
  59. hide2();
  60. s1 = document.getElementsByClassName("3pm");
  61. for (i = 0; i < s1.length; i++) {
  62. s1[i].remove();
  63. }
  64. }
  65. }
  66.  
  67. xc("beforeend", "<span class=3pm>[<a class=4pm href=javascript:void(0)>+</a>] </span>");
  68. s2 = document.getElementsByClassName("4pm");
  69. for (i = 0; i < s2.length; i++) {
  70. s2[i].onclick = tigger;
  71. }
  72.  
  73. document.addEventListener("keydown", function (e) {
  74. console.log(e.which);
  75. switch (e.which) {
  76. case 187:
  77. tigger();
  78. break;
  79. case 189:
  80. tigger();
  81. tigger();
  82. break;
  83. }
  84. });
  85.  
  86. }
  87. });