Greasy Fork

Greasy Fork is available in English.

B站无弹幕

自动屏蔽所有bilibili弹幕

目前为 2019-07-25 提交的版本。查看 最新版本

// ==UserScript==
// @name         B站无弹幕
// @namespace    http://tampermonkey.net/
// @version      0.22
// @description  自动屏蔽所有bilibili弹幕
// @require https://cdn.staticfile.org/jquery/2.0.3/jquery.min.js
// @github	 https://www.github.com/arryboom/nodanmu
// @author       arryboom
// @match        *://*.bilibili.com/*
// @run-at document-idle
// ==/UserScript==

(function() {
    'use strict';
    //jQuery.noConflict();
    window.jQuery(function($) {
    //log($.fn.jquery);
	//var lasturl;
    var divcount=0;
    var mdivcount=0;
	var onpdeling=false,onmdeling=false,onpcdeling=false,onmcdeling=false;
	var pagemaindiv;
	var pagepdiv;
	var danmubtn1_text;
	var no_danmu=function(){var nodanmu_a=$("div[class='bilibili-player-video-danmaku-switch bui bui-switch']").eq(0).children(".bui-checkbox");
	var nodanmu_b=$("div[class='bilibili-player-video-btn bilibili-player-video-btn-danmaku']").eq(0).attr("data-text");
	var nodanmu_c=$("div[class='bilibili-live-player-video-controller-hide-danmaku-container']");
	//console.log(nodanmu_b);
	if((typeof(nodanmu_b)=="undefined") && (nodanmu_a.size()!=0)){
		//log("into a");
		danmubtn1_text=$("div[class='bilibili-player-video-danmaku-switch bui bui-switch']").eq(0).children(".choose_danmaku").html();
		if (!(danmubtn1_text=="开启弹幕"))
		{
			//log("hxxxa")
			nodanmu_a.click();
		}
	}
	else if (nodanmu_b=="打开弹幕"){
		$("i[name='ctlbar_danmuku_close']").click();
		//log("into b");
	}
	else if(nodanmu_c.size()!=0)
	{
		$("button[data-title='隐藏弹幕']").click();
		//log("into c");
	}
    //$("div").remove(".danmu-module");
	log("#####Bilibili_NoDanMu#####");
	//lasturl=document.URL;
    };
setTimeout(function(){
	no_danmu();
    //---------------------
	//$(window).scroll(function(){$("div").remove(".danmu-module");})
         $(window).scroll(function(){
             //$("div").remove(".danmu-module");
			 //==================================
			 if (!onpdeling){
				 //log("not deling");
             if ($("div.spread-module").length!=divcount){
             //log("no eq");
			 onpdeling=true;
             divcount=$("div.spread-module").length;
			 $("div.spread-module").each(function(index, val){
				 if (!($(val).attr("xnodanmu"))){
					//log("afound a guy no jj");
					$(val).mousemove(function(e){if(!onpcdeling){onpcdeling=true;clearpagedanmu();onpcdeling=false;}else{
						//log("xhmmm");
						}});
					$(val).attr("xnodanmu",uuid());
					}
					else{
						//log("xgood son");
				 }
			 });
			 onpdeling=false;
             //$("div.spread-module").mousemove(clearpagedanmu())
             }}
			 else{
				 //log("deling");
			 }

                 //==================================
				 if (!onmdeling){
				 if ($("div.video-page-card").length!=mdivcount){
					onmdeling=true;
                 mdivcount=$("div.video-page-card").length;
                 //$("div.video-page-card").mousemove(clearminidanmu());
				 $("div.video-page-card").each(function(index, val){
					//log("mm");
					if (!($(val).attr("xnodanmu"))){
					//log("found a son no jj");
					$(val).mousemove(function(e){if(!onmcdeling){onmcdeling=true;clearminidanmu();onmcdeling=false;}else{
						//log("hmmm");
						}});
					$(val).attr("xnodanmu",uuid());
					}
					else{
						//log("good son");
				 }
				});
				onmdeling=false;
		 };}
				//==================================
					});
         $(window).scroll();
		 $(".video-title").eq(0).bind("DOMNodeInserted",function(){setTimeout(function(){no_danmu();mdivcount=0;$(window).scroll();
		 //log("trickme")
		 },2000)})
    	 //$("div.video-page-card").mousemove(clearminidanmu());
    //--------------------
	//$("#playerWrap").click(function(e){log("xx");setTimeout(function(){no_danmu();},3000);})
},3000);
function uuid() {
    var s = [];
    var hexDigits = "0123456789abcdef";
    for (var i = 0; i < 36; i++) {
        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[8] = s[13] = s[18] = s[23] = "-";
    var uuid = s.join("");
    return uuid;
}
/*
setInterval(function(){
	var curl=document.URL;
    //$("div").remove(".van-danmu");
	if (curl!=lasturl){
		//no_danmu();
	}
}, 3000);*/
    function log(e){
    console.log(e);
    }
    function clearpagedanmu(){
    $("div").remove(".danmu-module");
        //log("hitc")
    }
    function clearminidanmu(){
    $("div").remove(".van-danmu");
        //log("hitb")
    }
        /*
     setTimeout(function(){
},5000);
             setTimeout(function(){
                 //$("div.video-page-card").mouseenter(function(event){console.log("xx")}

},5000);
*/
    })})();