disableThirdpartyAD

禁止手机站点的第三方资源,当然你也可加入其它站点

  1. // ==UserScript==
  2. // @name disableThirdpartyAD
  3. // @namespace disableThirdpartyAD.xinggsf
  4. // @author xinggsf
  5. // @description 禁止手机站点的第三方资源,当然你也可加入其它站点
  6. // downloadUrl https://raw.githubusercontent.com/xinggsf/gm/master/disableThirdpartyAD.user.js
  7. // @include http://m.*
  8. // @include http://wap.*
  9. // @include https://m.*
  10. // @include https://wap.*
  11. // @version 2016.9.26
  12. // @encoding utf-8
  13. // @run-at document-start
  14. // @grant unsafeWindow
  15. // ==/UserScript==
  16. "use strict";
  17. if (unsafeWindow.top === unsafeWindow.self) {
  18. let baseHost = '??',
  19. urlWhiteList = [],
  20. regIp = /(?:\d{1,3}\.){3}\d{1,3}/,
  21. r = /:\/\/([^:\/]+)/,
  22. getBaseHost = function (url) {//取主域名
  23. let m = url.match(r);
  24. if (!m || m[1].includes(baseHost))
  25. return baseHost;
  26. m = m[1];
  27. let a = m.split('.');
  28. if (a.length === 2)
  29. return m;
  30. let i, s, ret = a.pop();
  31. for (i = 0; i < 2; i++) {
  32. s = a.pop();
  33. ret = s + '.' + ret;
  34. //广告主域名一般超过3字符
  35. if (!/[a-z]{2,3}/i.test(s))
  36. return ret;
  37. }
  38. return ret;
  39. },
  40. delAdNode = function (e) {
  41. switch (e.tagName) {
  42. case 'SCRIPT':
  43. case 'IFRAME':
  44. if (isThirdparty(e.getAttribute('src')))
  45. e.parentNode.removeChild(e);
  46. break;
  47. /* case 'IMAGE':
  48. case 'VIDEO':
  49.  
  50. case 'OBJECT':
  51. case 'EMBED': */
  52. }
  53. },
  54. isThirdparty = function (url) {
  55. if (!url || urlWhiteList.includes(url))
  56. return !1;
  57. return baseHost !== getBaseHost(url);
  58. };
  59.  
  60. baseHost = regIp.test(location.hostname) ?
  61. location.hostname : getBaseHost(location.hostname);
  62. let mo = new MutationObserver(function (rs) {
  63. for (let col of rs)
  64. for (let e of col.addedNodes)
  65. delAdNode(e);
  66. });
  67. mo.observe(document, {
  68. childList : true,
  69. subtree : true
  70. });
  71. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址