您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Blocks Anti-adblockers on several Indian News Sites
当前为
// ==UserScript== // @name Block-Adblocker-blocker // @namespace http://www.piyushsoni.com // @description Blocks Anti-adblockers on several Indian News Sites // @include http://timesofindia.indiatimes.com/* // @include http://www.hindustantimes.com/* // @run-at document-start // @version 1.00 // @grant none // @author Piyush Soni ([email protected]) // @license GNU LGPL v3 (https://www.gnu.org/licenses/lgpl-3.0.html) // ==/UserScript== var url = window.location.href.toLowerCase(); var domain = new URL(url).hostname.replace("www.",""); var mapPagesBlockerBlockers = {}; var countStopped = 0; var countToCheck = 0; var inlineBlocker = new String(""); var externalBlocker = new String(""); //Add new blocker list here ///mapPagesBlockerBlockers['<domain>'] = ['<external script source match>','<inline script source match>', <stop any 1 r more(count)>] mapPagesBlockerBlockers['timesofindia.indiatimes.com'] = ['detector/minify-1.cms', 'blocked.cms', 1]; mapPagesBlockerBlockers['hindustantimes.com'] = ['BlockerScript', 'checkAdBlocker', 2]; function scriptListener(e) { let src = e.target.src; if ((src && externalBlocker.length > 0 && src.indexOf(externalBlocker) >= 0) || e.target.innerHTML.indexOf(inlineBlocker) >= 0) { //Stop this nonsense. e.preventDefault(); e.stopPropagation(); console.log("Blocked an Anti-adblocker for " + domain); countStopped++; if(countStopped >= countToCheck) { //We're done, remove the event listener now window.removeEventListener(e.type, arguments.callee, true); } } } if(domain in mapPagesBlockerBlockers) { externalBlocker = mapPagesBlockerBlockers[domain][0]; inlineBlocker = mapPagesBlockerBlockers[domain][1]; countToCheck = mapPagesBlockerBlockers[domain][2]; window.addEventListener('beforescriptexecute', scriptListener, true); }