🏠 Home 

通用去广告(比较暴力,慎用)V0.1

专治广告联盟的iframe


安装此脚本?
  1. // ==UserScript==
  2. // @name 通用去广告(比较暴力,慎用)V0.1
  3. // @namespace http://tampermonkey.net/zxc/common/adblock4iframe
  4. // @version 0.1
  5. // @description 专治广告联盟的iframe
  6. // @author zxc
  7. // @match http*://*/*
  8. // @grant none
  9. // @compatible chrome
  10. // @incompatible IE678
  11. // ==/UserScript==
  12. (function() {
  13. 'use strict';
  14. blockAd();
  15. window.setTimeout(blockAd,1000);//防止后面加载的广告
  16. window.setTimeout(blockAd,5000);//防止后面加载的广告
  17. /************main end*************************/
  18. /************functions*************************/
  19. function blockAd (){
  20. //console.dir('blockAd');
  21. var selectors = [ 'iframe'];
  22. var adDoms = getElements(selectors);
  23. hideElements(adDoms);
  24. }
  25. function getElements (selectors){
  26. var adDoms = [];
  27. if(selectors && selectors.length){
  28. var ad;
  29. var ads;
  30. for(var j=0,len0=selectors.length;j<len0;++j){
  31. var selector = selectors[j];
  32. if(selector && selector.length && selector.length > 0){
  33. var prefix = selector.substr(0,1);
  34. var subfix = selector.length > 1 ? selector.substring(1) : '';
  35. switch(prefix){
  36. case '#':
  37. ad = document.getElementById(subfix);//右下角.
  38. ads = [ad];
  39. break;
  40. case '.':
  41. ads = document.getElementsByClassName(subfix);//登录提示条
  42. break;
  43. default:
  44. ads = document.getElementsByTagName(selector);
  45. }
  46. joinArray(adDoms, ads);
  47. }
  48. }
  49. }
  50. return adDoms;
  51. }
  52. function joinArray(arr1,arr2){
  53. arr1 = arr1 || [];
  54. if(arr2 && arr2.length){
  55. for(var i=0,len=arr2.length; i<len;++i){
  56. arr1.push(arr2[i]);
  57. }
  58. }
  59. return arr1;
  60. }
  61. function hideElements (adDoms){
  62. if(adDoms && adDoms.length){
  63. for(var i=0,len=adDoms.length; i<len;++i){
  64. var ad = adDoms[i];
  65. if(ad){
  66. if(ad.tagName === 'IFRAME'){
  67. var parent = ad.parentNode;
  68. if(parent.firstElementChild.tagName === 'IFRAME'){// 防止藏在列表中的广告把列表也去了
  69. ad = ad.parentNode;
  70. }
  71. }
  72. if(ad && ad.style) ad.style.visibility="hidden";
  73. }
  74. }
  75. }
  76. }
  77. // Your code here...
  78. })();