XTV.CZ anti-adblock

Potlačení otravného okna kvůli AdBlocku

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name         XTV.CZ anti-adblock
// @namespace    https://greasyfork.org/cs/users/198317-trumpeta
// @version      1.03
// @description  Potlačení otravného okna kvůli AdBlocku
// @author       Trumpeta
// @run-at       document-body
// @iconURL      https://xtv.cz/img/xtv-logo-512.png
// @match        https://xtv.cz/*
// @match        http://xtv.cz/*
// ==/UserScript==

let layer = document.querySelector('template#pgblck-tmpl');
if (layer != null) layer.remove();

const scriptPath = '/js/public.min.js',
			rx = /\b(?:\w\.ads\.init)\(\),/g;

document.onbeforescriptexecute = function(evt) {
	if (!evt.target.src.toLowerCase().includes(scriptPath)) return;
	evt.preventDefault();
	evt.stopPropagation();
	let xhr = new XMLHttpRequest;
	xhr.open('GET', evt.target.src, false);
	xhr.send();
	if (xhr.status < 200 || xhr.status >= 400) {
		console.error('Error loading script:', evt.target.src, xhr)
		return;
	}
	let newScript = document.createElement('script');
	newScript.type = "text/javascript";
	newScript.textContent = xhr.responseText.replace(rx, '');
	document.head.append(newScript);
};

// for (var script of document.getElementsByTagName('SCRIPT')) {
// 	if (!script.src || !script.src.toLowerCase().includes(scriptPath)) continue;
// 	script.remove();
// 	let xhr = new XMLHttpRequest;
// 	xhr.open('GET', script.src, false);
// 	xhr.send();
// 	if (xhr.status < 200 || xhr.status >= 400) {
// 		console.error('Error loading script:', script.src, xhr)
// 		return;
// 	}
// 	script.removeAttribute('src');
// 	script.type = 'text/javascript';
// 	script.textContent = xhr.responseText.replace(rx, '');
// 	document.head.append(script);
// }