Tiny Customize

针对一些常用网站的反反广告检测、自动化、屏蔽功能等。

2016-06-01 يوللانغان نەشرى. ئەڭ يېڭى نەشرىنى كۆرۈش.

  1. // ==UserScript==
  2. // @name Tiny Customize
  3. // @description 针对一些常用网站的反反广告检测、自动化、屏蔽功能等。
  4. // @namespace xiaochao.k@gmail.com
  5. // @author xiaochao.k@gmail.com
  6. // @include http://bbs.3dmgame.com/*
  7. // @include http://bbs.kafan.cn/*
  8. // @include http://forum.gamer.com.tw/*
  9. // @version 1.0.3
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. if (typeof unsafeWindow == "undefined")
  14. {
  15. unsafeWindow = window;
  16. }
  17.  
  18. /**
  19. * 获取立即执行的操作。
  20. */
  21. const getInstantActions = function()
  22. {
  23. const host = unsafeWindow.location.host;
  24. const actions = [];
  25.  
  26. if (host === "forum.gamer.com.tw")
  27. {
  28. // 巴哈姆特。
  29.  
  30. // 反反广告检测。
  31. const action = function()
  32. {
  33. if (unsafeWindow.AntiAd)
  34. {
  35. unsafeWindow.AntiAd.check = function() {};
  36. }
  37. };
  38. actions.push(action);
  39. }
  40. else if (host === "bbs.kafan.cn" || host === "bbs.3dmgame.com")
  41. {
  42. // 卡饭、3DMGame 论坛(Discuz 驱动的论坛)。
  43.  
  44. // 屏蔽方向键翻页。
  45. const action = function()
  46. {
  47. if (unsafeWindow.keyPageScroll)
  48. {
  49. unsafeWindow.keyPageScroll = function() {};
  50. }
  51. };
  52. actions.push(action);
  53. }
  54.  
  55. return actions;
  56. };
  57.  
  58. /**
  59. * 获取延迟执行的操作。
  60. */
  61. const getLazyActions = function()
  62. {
  63. const host = unsafeWindow.location.host;
  64. const actions = [];
  65.  
  66. if (host === "forum.gamer.com.tw")
  67. {
  68. // 巴哈姆特。
  69.  
  70. // 自动开启图片。
  71. let action = function()
  72. {
  73. if (unsafeWindow.forumShowAllMedia)
  74. {
  75. unsafeWindow.forumShowAllMedia();
  76. }
  77. };
  78. actions.push(action);
  79. }
  80.  
  81. return actions;
  82. };
  83.  
  84. /**
  85. * 立即执行指定的操作。
  86. */
  87. const exec = function(p_actions)
  88. {
  89. if (p_actions)
  90. {
  91. p_actions.forEach(function(p_action)
  92. {
  93. p_action();
  94. });
  95. }
  96. };
  97.  
  98. // 1. 立即执行。
  99. exec(getInstantActions());
  100.  
  101.  
  102. // 2. 延迟执行。
  103. unsafeWindow.addEventListener("load", function()
  104. {
  105. exec(getLazyActions());
  106. }, true);