GreaseMonkey Script : Javascript Adblocker (Firefox only)

Remove pop-ups/ in-video ads : blogtruyen|vnsharing|hayhaytv

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

  1. // ==UserScript==
  2. // @name GreaseMonkey Script : Javascript Adblocker (Firefox only)
  3. // @description Remove pop-ups/ in-video ads : blogtruyen|vnsharing|hayhaytv
  4. // @include *blogtruyen.com*
  5. // @include *hayhaytv.vn*
  6. // @include *vnsharing.net*
  7. // @version 1.701
  8. // @run-at document-start
  9. // @namespace ...
  10. // ==/UserScript==
  11.  
  12. var hostname = location.hostname;
  13. var fuck = 0;
  14. switch(hostname) {
  15. case "www.hayhaytv.vn":
  16. fuck = 1;
  17. checkForBadJavascripts ( [[ false, /vod\/info/, replaceJS ]] );
  18. window.addEventListener('load', function(){ $("#btn_xemngay").click()});
  19. break;
  20. case "jj.hayhaytv.vn":
  21. fuck = 2;
  22. window.addEventListener('load', function(){ $(".banner_player_img, .mh-player-info").css("display", "none"); startMainPlayer(); });
  23. break;
  24. case "blogtruyen.com":
  25. fuck = 3;
  26. checkForBadJavascripts ( [[ false, /popunder/, replaceJS ]] );
  27. break;
  28. case "vnsharing.net":
  29. fuck = 4;
  30. checkForBadJavascripts ( [[ false, /btpop/, replaceJS ]] );
  31. break;
  32. default:
  33. break;
  34. }
  35.  
  36. function replaceJS (scriptNode) {
  37. var scriptSrc = scriptNode.textContent;
  38. switch(fuck) {
  39. case 1: scriptSrc = scriptSrc.replace ("vod", "shit"); break;
  40. case 3: scriptSrc = scriptSrc.replace ("pop", "shit"); break;
  41. case 4: scriptSrc = scriptSrc.replace ("pop", "shit"); break;
  42. default: break;
  43. }
  44. addJS_Node (scriptSrc)
  45. }
  46.  
  47. function checkForBadJavascripts (controlArray) {
  48. if ( ! controlArray.length) return null;
  49. checkForBadJavascripts = function (zEvent) {
  50. for (var J = controlArray.length - 1; J >= 0; --J) {
  51. var bSearchSrcAttr = controlArray[J][0];
  52. var identifyingRegex = controlArray[J][1];
  53. if (bSearchSrcAttr) {
  54. if (identifyingRegex.test (zEvent.target.src) ) {
  55. stopBadJavascript (J);
  56. return false;
  57. }
  58. }
  59. else {
  60. if (identifyingRegex.test (zEvent.target.textContent) ) {
  61. stopBadJavascript (J);
  62. return false;
  63. }
  64. }
  65. }
  66.  
  67. function stopBadJavascript (controlIndex) {
  68. zEvent.stopPropagation ();
  69. zEvent.preventDefault ();
  70.  
  71. var callbackFunction = controlArray[J][2];
  72. if (typeof callbackFunction == "function")
  73. callbackFunction (zEvent.target);
  74. zEvent.target.parentNode.removeChild (zEvent.target);
  75. controlArray.splice (J, 1);
  76. if ( ! controlArray.length) {
  77. window.removeEventListener (
  78. 'beforescriptexecute', checkForBadJavascripts, true
  79. );
  80. }
  81. }
  82. }
  83.  
  84. window.addEventListener ('beforescriptexecute', checkForBadJavascripts, true);
  85.  
  86. return checkForBadJavascripts;
  87. }
  88.  
  89. function addJS_Node (text, s_URL, funcToRun) {
  90. var D = document;
  91. var scriptNode = D.createElement ('script');
  92. scriptNode.type = "text/javascript";
  93. if (text) scriptNode.textContent = text;
  94. if (s_URL) scriptNode.src = s_URL;
  95. if (funcToRun) scriptNode.textContent = '(' + funcToRun.toString() + ')()';
  96.  
  97. var targ = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
  98. targ.appendChild (scriptNode);
  99. }

QingJ © 2025

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