Enhanced Corrupt Dailymotion Ads

Corrupts ads on Dailymotion by blocking playback

目前为 2024-09-23 提交的版本。查看 最新版本

// ==UserScript==
// @name         Enhanced Corrupt Dailymotion Ads
// @namespace    https://pastebin.com/tiAedV19
// @version      1.4
// @description  Corrupts ads on Dailymotion by blocking playback
// @match        https://www.dailymotion.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const adSources = [
        'ad',
        'advertisement',
        'doubleclick',
        'adserver',
        'ads',
        'tracking',
        'spotxchange',
        'krxd.net',
        'brighttag',
        'vdopia',
        'dailymotion.com/ads',
    ];

    const isAdSource = (src) => {
        return adSources.some(ad => src.includes(ad));
    };

    const corruptAds = () => {
        const originalPlay = HTMLMediaElement.prototype.play;

        HTMLMediaElement.prototype.play = function() {
            if (isAdSource(this.src)) {
                return Promise.reject(new Error('Ad playback failed due to connection issues.'));
            }
            return originalPlay.call(this);
        };
    };

    const suppressConsoleWarnings = () => {
        const originalError = console.error;
        console.error = function(...args) {
            if (args[0] && typeof args[0] === 'string' && args[0].includes('Reading cookie in cross-site context')) {
                return;
            }
            originalError.apply(console, args);
        };
    };

    window.addEventListener('load', () => {
        suppressConsoleWarnings();
        corruptAds();

        const observer = new MutationObserver(() => {
            corruptAds();
        });
        observer.observe(document.body, { childList: true, subtree: true });
    });
})();