Douyu Ad Remover

Remove ads on douyu.com

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name         Douyu Ad Remover
// @namespace    Ad Remover
// @version      0.1
// @description  Remove ads on douyu.com
// @author       X.Zhao
// @grant        none
// @match        http://www.douyutv.com/*
// ==/UserScript==
/* jshint -W097 */
'use strict';

function isEmpty(obj) {
    // null and undefined are "empty"
    if (obj === null || obj === undefined) return true;
    // Assume if it has a length property with a non-zero value
    // that that property is correct.
    if (obj.length > 0)    return false;
    if (obj.length === 0)  return true;
    // Otherwise, does it have any properties of its own?
    // Note that this doesn't handle
    // toString and valueOf enumeration bugs in IE < 9
    for (var key in obj) {
        if (hasOwnProperty.call(obj, key)) return false;
    }
    return true;
}

function remover(name, callback) {
    var $ = window.jQuery;
    if (isEmpty($) || isEmpty($(name))) {
        setTimeout(function() {
                remover(name);
            }, 500);
    } else {
        if (isEmpty(callback)) {
            // default callback is clear html content and set "display: none".
            $(name).html('').hide();
        } else {
            callback($(name));
        }
    }
}

function main() {
    remover('#chat-top-ad');
    remover('#js_chat_mem');
    remover('#cq_fans');
    remover('#js_mlist');
    remover('#dy_bottom_shadow');
    remover('#live_videobar');
    remover('.chat-right-ad');
    remove_flash_ad();
        remove_focus();
}


function remove_focus() {
    var $ = window.jQuery;
    if ($('#live_userinfo #js_share').length === 0) {
        setTimeout(remove_focus, 500);
    } else {
        $('#live_userinfo #js_share').html('').hide();
    }
}

function remove_flash_ad() {
    var $ = window.jQuery;
    if ($('#sign_p_15_swf').width() === null) {
        setTimeout(remove_flash_ad, 500);
    } else {
        // alert($('#sign_p_15_swf').width());
        $('#sign_p_15_swf').width(0).height(0);
    }
}

main();