妮可,嗨哆咪,樱花,美剧网,黑米影视....广告过滤

喜欢看动漫但在手机端访问网页时一堆广告,基本屏幕都被占满了还看个毛线,所以这里屏蔽了动态加载的广告脚本,有些没用的轮播也去掉了,同时页面也稍微处理了下

  1. // ==UserScript==
  2. // @name 妮可,嗨哆咪,樱花,美剧网,黑米影视....广告过滤
  3. // @namespace https://www.yqsphp.com
  4. // @version 1.2.25
  5. // @description 喜欢看动漫但在手机端访问网页时一堆广告,基本屏幕都被占满了还看个毛线,所以这里屏蔽了动态加载的广告脚本,有些没用的轮播也去掉了,同时页面也稍微处理了下
  6. // @author YQS
  7. // @match *://www.nicotv.me/*
  8. // @match *://www.nicotv.club/*
  9. // @match *://www.nicotv.biz/*
  10. // @match *://www.nicotv.vip/*
  11. // @match *://hdmys.com//*
  12. // @match *://m.meijushe.cc/*
  13. // @match *://www.heimitv2.com/*
  14. // @match *://m.yhdm.tv/*
  15. // @match *://91mjw.com/*
  16. // @match *://bimiacg.com/*
  17. // @match *://bimiacg.me/*
  18. // @match *://bimiacg10.net/*
  19. // @grant GM_setValue
  20. // @grant GM_getValue
  21. // @run-at document-start
  22. // @require http://libs.baidu.com/jquery/1.11.3/jquery.min.js
  23. // ==/UserScript==
  24.  
  25. (function() {
  26. 'use strict';
  27.  
  28. var host_arr = window.location.host.split("."); //分割域名简化匹配
  29. var _host = host_arr.length > 2 ? host_arr[1] : host_arr[0];
  30. var mobile = /Android|webOS|iPhone|iPod|BlackBerry/i; //检查移动端正则
  31. var path = location.pathname; //url域名后的地址
  32. //window.alert = function(){return true};
  33. window.onerror = function(){return true};
  34. window.open = function(){return false};
  35.  
  36. /**
  37. * 参数配置
  38. * filter:过滤规则
  39. * node 阻止通过document.createElement创建的元素写入
  40. * disabled 1.允许"filter"通过,2.阻止"filter"通过
  41. ***/
  42.  
  43. var write_config = {
  44. "filter":{
  45. "nicotv":/(img\.fsmkbl\.cn)|(img\.ifbski\.cn)|(img\.zkyimiao\.com)|(img\.fcab\.com\.cn)|(img\.bzzyx\.cn)|(tyjx2\.bzzyx\.cn)|(<iframe>?.*<\/iframe>)/i,
  46. "yhdm":/(div)|(<iframe>?.*<\/iframe>)/i,
  47. "hdmys":/(<style>?.*<\/style>)|(<div>?.*<\div>)|(<script>?.*<\/script>)/i,
  48. "91mjw":"",
  49. "heimitv2":/<iframe>?.*<\/iframe>/i,
  50. "bimiacg10":/(<iframe>?.*<\/iframe>)|(<script>?.*<\/script>)/i
  51. },
  52. "node":{
  53. "nicotv":/div|a|img|script|style|ins|span|rrk/i,
  54. "yhdm":/a|img|style/i,
  55. "hdmys":/canvas|img|style|div/i,
  56. "91mjw":/style|script|div/i,
  57. "heimitv2":/script|canvas/i,
  58. "bimiacg":/script|div/i,
  59.  
  60. },
  61. "create":{
  62. "nicotv":["div","a","img","script","style","ins","span","iframe"],
  63. "yhdm":["a","img","style"],
  64. "hdmys":["canvas","style","img","div"],
  65. "91mjw":["style","script","div"],
  66. "heimitv2":["script","canvas"],
  67. "bimiacg10":["script","div"]
  68. },
  69. "disabled":{
  70. "nicotv":1,
  71. "yhdm":1,
  72. "hdmys":1,
  73. "91mjw":2,
  74. "heimitv2":1,
  75. "bimiacg10":1
  76. }
  77. };
  78. var _write = document.write;
  79. var _create = document.createElement;
  80. /**
  81. * 重写alert write
  82. * 阻止弹窗和节点动态写入
  83. * 过滤掉显示图片和视频播放
  84. * @object doc 待写入html的动态文本
  85. * @object togo 过滤的名单数组
  86. * @object flag 1,白名单可写入,2.黑名单不可写入
  87. */
  88. var new_write = function(doc){
  89. console.log("write写入的文本-"+doc);
  90. var filter = write_config.filter[_host],
  91. flag = write_config.disabled[_host],
  92. node = write_config.node[_host];
  93.  
  94. if(doc.search(filter) != -1){
  95. document.write = _write;
  96. document.write(doc);
  97. document.write = new_write;
  98. }else if(flag == 1){
  99. if(doc.search(node) != -1){
  100. //console.log("write阻止的写入:"+doc);
  101. return false;
  102. }
  103. }
  104. }
  105. document.write = new_write;
  106.  
  107. document.createElement = function(tag,flag){
  108. console.log("create创建的节点:"+tag,flag);
  109. if(flag){
  110. return _create.apply(this, arguments);
  111. }else if(write_config.create[_host].indexOf(tag) != -1){
  112. console.log("create阻止的节点:"+tag);
  113. return _create.apply(null, arguments);
  114. //return false;
  115. } else{
  116. return _create.apply(this, arguments);
  117. }
  118. }
  119.  
  120. //以下是添加优化页面,也有本身源码html自带广告等处理
  121. document.onreadystatechange = function(){
  122. if(document.readyState == "complete"){
  123. if("nicotv" == _host){
  124. document.oncontextmenu = true;
  125. document.onkeydown = function () {
  126. if (window.event && window.event.keyCode == 123) {
  127. event.keyCode = 0;
  128. event.returnValue = false;
  129. return false;
  130. }
  131. };
  132. var style = "padding-top:0 !important;margin-top:0 !important;";
  133. $("body").attr("style",style);
  134. $(".navbar").attr("style",style);
  135. $(".slide").parent().remove();
  136. $(".ff-clearfix").remove();
  137. $(".clearfix-ads").remove();
  138. $(".ff-ads").remove();
  139. $(".nav-tabs>li").click(function(){
  140. $(this).addClass("active fade in").siblings().removeClass("active fade in");
  141. $(".tab-content > ul").eq($(this).index()).addClass("active fade in").siblings().removeClass("active").removeClass("in");
  142. });
  143. $(".ff-img").each(function(){
  144. var img = $(this).attr("data-original");
  145. $(this).attr("src",img);
  146. });
  147. $("a").attr("target","_blank");
  148. $(".weekDay").removeAttr("target");
  149. $(".ff-footer").parent().empty();
  150. //以下针对移动端设定
  151. if(mobile.test(navigator.userAgent) && (path.indexOf("-addtime") != -1 || path.indexOf("-hits") != -1)){
  152.  
  153. //dl-horizontal
  154. var select = $(".dl-horizontal dd");
  155. select.css({"white-space":"nowrap","overflow-x":"scroll","overflow-y":"hidden"});
  156.  
  157.  
  158. //添加 圣墟
  159. var a = document.createElement("a");
  160. a.href = "/video/type3/肾虚系列------addtime.html";
  161. a.className = "btn btn-sm btn-default gallery-cell";
  162. a.text = "圣墟";
  163. select.eq(1).append(a);
  164.  
  165. }else{
  166. //宽屏窄屏设置
  167. var f = document.createElement("a",1);
  168. f.className = "btn btn-default btn-sm big";
  169. f.text = "宽屏";
  170. var ht = $(".ff-playbtn dd").append(f);
  171. $(f).click(function(){
  172. if($(this).hasClass("big")){
  173. f.text = "窄屏";
  174. $("#cms_player").parent().removeClass("col-md-8").addClass("col-md-12");
  175. GM_setValue("mbig",true);
  176. $(this).removeClass("big");
  177. }else{
  178. f.text = "宽屏";
  179. $("#cms_player").parent().removeClass("col-md-12").addClass("col-md-8");
  180. $(this).addClass("big");
  181. GM_setValue("mbig",false);
  182. }
  183. });
  184. //获取用户视频的自定义宽屏还是窄屏
  185. if(GM_getValue("mbig")){
  186. $("#cms_player").parent().removeClass("col-md-8").addClass("col-md-12");
  187. f.text = "窄屏";
  188. $(f).removeClass("big");
  189. }else{
  190. f.text = "宽屏";
  191. $(f).addClass("big");
  192. $("#cms_player").parent().removeClass("col-md-12").addClass("col-md-8");
  193. }
  194. }
  195. }else if("yhdm" == _host){
  196. $(".swipe").remove();
  197. $("div[id^=sjdb_div_]").remove();
  198. $("div[id^=z]").remove();
  199. }else if("haiduomi" == _host){
  200. var img = "";
  201. $(".stui-vodlist__thumb").each(function(){
  202. var _this = $(this);
  203. img = _this.attr("data-original");
  204. if(typeof(img) == "undefined"){
  205. img = _this.children("img").attr("data-original");
  206. _this.children("img").attr("src",img);
  207. }else{
  208. _this.attr("style","background-image:url("+img+")");
  209. }
  210. });
  211. $(".stui-pannel_hd > .stui-screen__list").css({"white-space":"nowrap","overflow-x":"scroll","overflow-y":"hidden"});
  212. }else if("heimitv2" == _host){
  213. $(".top_box").parent().remove()
  214. }else if("91mjw" == _host){
  215. $(".zzgg-post").remove();
  216. $(".sidebar > div").eq(2).remove();
  217. }
  218. }
  219.  
  220. }
  221. })();