屏蔽部分斗鱼直播间无意义广告、活动、弹幕
当前为
// ==UserScript==
// @name 斗鱼(广告/活动/弹幕)屏蔽
// @namespace http://tampermonkey.net/
// @version 0.0.30
// @description 屏蔽部分斗鱼直播间无意义广告、活动、弹幕
// @author hulala
// @match *://www.douyu.com/*
// @require //cdn.staticfile.org/jquery/1.12.4/jquery.min.js
// @require //cdn.staticfile.org/moment.js/2.22.2/moment.min.js
// @grant none
// ==/UserScript==
(function() {
'use strict';
var $hl = jQuery.noConflict(true);
window.$$jq = $hl;
var time = 0;
var binded = false;
var chatcache = {
_count_: 0
};
window.chats = chatcache;
var HULALA_HIDE = new Array(
".room-ad-video-down",
".valentine1807",
".adsRoot_7c5z4",
".chat-ad",
"#js-annual1809",
".Annual1809",
".room-ad-bottom",
"#js-chat-notice",
".column.rec",
"#js-recommand",
".recommendAD-824567",
".recommendApp-cbeff7",
".broadcastDiv-343e1a",
".PaladinPop",
".no-login",
"#js-annual1809",
".Annual1809-gifttip",
".giftbatter-noble-enter",
".Bottom"
);
var HULALA_DEL = new Array(
"#js-annual1809",
"#js-room-activity",
".ACT110913",
".giftbatter-box",
".Bottom"
);
var removeAD = function(){
var gifts = $hl("#listId").parent().parent();
var chat = $hl(".PlayerCaseSub-Main.is-unlogin");
for (var i = 0;i<HULALA_HIDE.length; i++){
$hl(HULALA_HIDE[i]).css("display", "none");
}
for (var i = 0;i<HULALA_DEL.length; i++) {
$hl(HULALA_DEL[i]).remove();
}
gifts.css("display","none");
chat.css("top", "0px");
}
removeAD();
var timer = window.setInterval(function() {
removeAD();
time++;
if(time >= 15 && timer) {
window.clearInterval(timer);
timer = null;
}
}, 3000);
var chatHandler = function(e){
var node = e.target;
if (node.tagName === 'LI') {
var user = $hl(node);
if (user.hasClass("status-low-enter") || user.find(".Barrage-userEnter").length > 0) {
user.hide();
}
var username = user.find(".Barrage-nickName").attr("title") || user.find(".js-nick").data("nn") || user.find(".js-nick").text().trim();
var userid = user.find(".Barrage-nickName").data("uid") || user.find(".js-nick").attr("rel");
var usersay = user.find(".Barrage-content").text().trim() || user.find("[chatid]").text().trim();
var timestamp = new Date().getTime();
if (!usersay) {
user.hide();
}
if (node.innerText.indexOf('欢迎来到本直播间') !== -1) {
if(!chatcache[userid]) {
chatcache[userid] = {
name: String(username),
chats: [],
time: moment(timestamp).format("YYYY-MM-DD HH:mm:ss"),
timestamp: timestamp
};
chatcache._count_ ++;
}
}
if(!chatcache[userid]) {
chatcache[userid] = {
name: String(username),
chats: [],
time: moment(timestamp).format("YYYY-MM-DD HH:mm:ss"),
timestamp: timestamp
};
chatcache._count_ ++;
}
chatcache[userid].chats.push({
say: usersay,
time: moment(timestamp).format("YYYY-MM-DD HH:mm:ss"),
timestamp: timestamp
});
}
}
var removeWelcome = function(){
if(binded){
return;
}
var chatlist = $hl('.layout-Player-aside');
chatlist.on("DOMNodeInserted", "#js-barrage-list",chatHandler);
var spelist = $hl(".PlayerCaseSub-Main");
spelist.on("DOMNodeInserted",'[data-type="chat-list"]',chatHandler);
binded = true;
}
var closeChat = function(){
$hl("[class^=showdanmu]").trigger("click");
}
window.setInterval(function(){
removeWelcome();
closeChat();
}, 1000);
})();