// ==UserScript== // @name 斗鱼安心看 // @namespace http://tampermonkey.net/ // @version 0.1.3 // @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 // @downloadURL none // ==/UserScript== (function() { 'use strict'; window.$$jq = jQuery.noConflict(true); var time = 0; var binded = false; var chatcache = { _count_: 0, _total_: 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", ".ToolbarActivityArea", ".Title-columnTag" ); var removeAD = function(){ var gifts = $$jq("#listId").parent().parent(); var chat = $$jq(".PlayerCaseSub-Main.is-unlogin"); for (var i = 0;i= 15 && timer) { window.clearInterval(timer); timer = null; } }, 3000); var chatHandler = function(e){ var node = e.target; if (node.tagName === 'LI') { var user = $$jq(node); user.find(".Barrage-icon,.Motor,.UserLevel").hide(); user.find(".chat-icon-pad, .motorcade-icon").hide(); 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_ ++; } var tc = chatcache._count_; if(chatcache._count_ > 999) { tc = "999+"; } $$jq("#chatman").text(tc).attr("title", `共${chatcache._count_}人`); if (usersay) { chatcache[userid].chats.push({ say: usersay, time: moment(timestamp).format("YYYY-MM-DD HH:mm:ss"), timestamp: timestamp }); chatcache._total_ ++; var tt = chatcache._total_; if(chatcache._total_ > 999) { tt = "999+"; } $$jq("#chattotal").text(tt).attr("title", `共${chatcache._total_}条弹幕`); } } } var removeWelcome = function(){ if(binded){ return; } var chatlist = $$jq('.layout-Player-aside'); chatlist.on("DOMNodeInserted", "#js-barrage-list",chatHandler); var spelist = $$jq(".PlayerCaseSub-Main"); spelist.on("DOMNodeInserted",'[data-type="chat-list"]',chatHandler); binded = true; } var closeChat = function(){ $$jq("[class^=comment]").css("visibility","hidden"); } var rightChat = function(){ $$jq("#js-player-barrage").css("top","0px"); $$jq(".Barrage-toolbar").css("marginTop","0px"); $$jq(".layout-Player-rankAll,.layout-Player-rank,#js-floatingbarrage-container").remove(); if($$jq(".Barrage").find("#chattitle").length <= 0) { $$jq(".Barrage").prepend( `
聊天窗口 0人/0条弹幕
` ); } $$jq("#js-barrage-list").parent().css("top","38px"); $$jq(".Barrage-toolbar").css({ "right": "-36px", "top": "8px", "left": "auto", "display": "block" }); $$jq(".Barrage-toolbarLock,.Barrage-toolbarClear").css({ "border": "0px", "padding": "0px 4px", "margin": "0px" }); $$jq("#js-fans-rank").remove(); $$jq("#js-chat-cont").css("top","0px"); } window.setInterval(function(){ removeWelcome(); closeChat(); rightChat(); }, 1000); })();