Reddit Hide All Posts & Reload Hotkey

Hide all posts & reload page on ctrl+shift+r

当前为 2019-08-10 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Reddit Hide All Posts & Reload Hotkey
  3. // @namespace redditposthideandreload_kk
  4. // @version 1.2
  5. // @description Hide all posts & reload page on ctrl+shift+r
  6. // @match https://*.reddit.com/*
  7. // @grant none
  8. // @run-at document-start
  9. // ==/UserScript==
  10.  
  11. var oldhidebtns;
  12. var newhidebtns;
  13.  
  14. function getbtns() {
  15. oldhidebtns = document.getElementsByTagName("a");
  16. newhidebtns = document.getElementsByClassName("icon-hide");
  17. }
  18.  
  19. var wait = ms => new Promise(resolve => setTimeout(resolve, ms));
  20. var waitTime = 350;
  21.  
  22. async function doHide() {
  23. getbtns();
  24. try {
  25. for (var i = 0; i < oldhidebtns.length; i++) {
  26. if (oldhidebtns[i].innerText.toLowerCase() === "hide") {
  27. oldhidebtns[i].click();
  28. await wait(waitTime);
  29. }
  30. }
  31.  
  32. var didNewBtnRun = false;
  33.  
  34. for (var i = 0; i < newhidebtns.length; i++) {
  35. newhidebtns[i].click();
  36. didNewBtnRun = true;
  37. await wait(waitTime);
  38. }
  39.  
  40. if (didNewBtnRun) return doHide();
  41.  
  42. await wait(waitTime + 1000);
  43.  
  44. location.reload();
  45. }
  46. catch (e) {
  47. console.warn(e);
  48. doHide();
  49. }
  50. }
  51.  
  52. document.addEventListener("keydown", (e) => {
  53. if (e.ctrlKey && e.shiftKey && e.keyCode == 82) {
  54. e.preventDefault();
  55. doHide();
  56. }
  57. }, false);
  58.