-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patha.js
43 lines (36 loc) · 1.72 KB
/
a.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
(function () {
console.log("Блокировка рекламы активирована");
// Подменяем проверку подписки (премиум аккаунт)
window.Account = window.Account || {};
window.Account.hasPremium = () => true;
// Ломаем создание <video> для рекламы
document.createElement = new Proxy(document.createElement, {
apply(target, thisArg, args) {
if (args[0] === "video") {
console.log("Перехватываем создание <video> для рекламы!");
let fakeVideo = target.apply(thisArg, args);
// Запрещаем рекламе воспроизводиться
fakeVideo.play = function () {
console.log("Рекламное видео заблокировано!");
setTimeout(() => {
fakeVideo.ended = true;
fakeVideo.dispatchEvent(new Event("ended")); // Эмулируем завершение рекламы
}, 500);
};
return fakeVideo;
}
return target.apply(thisArg, args);
}
});
// Очищаем таймеры рекламы
function clearAdTimers() {
console.log("Очищаем рекламные таймеры...");
let highestTimeout = setTimeout(() => {}, 0);
for (let i = 0; i <= highestTimeout; i++) {
clearTimeout(i);
clearInterval(i);
}
}
// Убираем рекламу после загрузки страницы
document.addEventListener("DOMContentLoaded", clearAdTimers);
})();