// ==UserScript== // @name 斗鱼安心看 // @namespace http://tampermonkey.net/ // @version 0.1.1 // @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'; 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", ".ToolbarActivityArea", ".Title-columnTag" ); var removeAD = function(){ var gifts = $hl("#listId").parent().parent(); var chat = $hl(".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 = $hl(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_ ++; } 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^=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("#js-player-barrage").find("#chattitle").length <= 0) { $$jq("#js-player-barrage").prepend( `
聊天窗口
` ); } $$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); })();