4chan/f fitler

remove viewed swf

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

  1. // ==UserScript==
  2. // @name 4chan/f fitler
  3. // @namespace https://greasyfork.org/zh-CN/scripts/412639-4chan-f-fitler
  4. // @version 0.2
  5. // @description remove viewed swf
  6. // @description ctrl+<- prev swf
  7. // @description ctrl+-> next swf
  8. // @author Neysummer2000
  9. // @match https://boards.4chan.org/f/
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15. var g_viewing; // dom
  16. var g_viewed = localStorage.getItem("4chan_viewed");
  17. if (g_viewed == null)
  18. g_viewed = "[]";
  19. g_viewed = JSON.parse(g_viewed);
  20. //console.log(g_viewed);
  21.  
  22. var dom;
  23. window.addEventListener("keydown", function(ev){
  24. if(g_viewing === undefined) return;
  25. if(ev.ctrlKey){
  26. switch(ev.key){
  27. case "ArrowRight":
  28. var prev = g_viewing.nextElementSibling;
  29. if(prev !== null){
  30. document.getElementById('swf-embed').remove()
  31. prev.children[3].children[0].click();
  32. }
  33. break;
  34.  
  35. case "ArrowLeft":
  36. var next = g_viewing.previousElementSibling;
  37. if(next !== null){
  38. document.getElementById('swf-embed').remove()
  39. next.children[3].children[0].click();
  40. }
  41. break;
  42.  
  43. }
  44. }
  45. });
  46.  
  47. document.querySelectorAll('.flashListing td:nth-child(4) a').forEach(function(d) {
  48. var parent = d.parentElement.parentElement;
  49. if (g_viewed.indexOf(d.href) != -1){
  50. parent.remove();
  51. }else{
  52. d.addEventListener("click", function(ev) {
  53. g_viewed.push(d.href);
  54. g_viewing = parent;
  55. // console.log(g_viewing);
  56. localStorage.setItem("4chan_viewed", JSON.stringify(g_viewed));
  57.  
  58. var iframe = document.getElementById('swf-embed-header');
  59. var span = document.createElement("span");
  60. span.innerText = " " + parent.children[6].innerText;
  61. iframe.appendChild(span);
  62.  
  63. var a = document.createElement("a");
  64. a.target = "_blank";
  65. a.href = d.href;
  66. a.innerText = "download";
  67. a.style.cssText = "float: right; margin-right: 10px;";
  68. iframe.appendChild(a);
  69. //console.log(d.href);
  70.  
  71. });
  72. }
  73. })
  74.  
  75.  
  76. })();