菜单

斗鱼扩充–让您看看愈来愈多内容(七)

2019年5月5日 - Bootstrap

代码能够在 https://pan.baidu.com/s/1uN120-18hvAzELpJCQfbXA  处下载

因为本身喜爱打 王者手机游戏,小编就张开了 王者农药的标题

 

 图片 1

上边大家一步优化页面,在一个页面上减弱 广告的同时,也能博得越来越多的音信。

 

自己直接上代码了,都以能够在Console 内一直 运营的。

系统把 主播房间的 链接放在1个li 成分内的,而data-rid 则对应
房间的ID,大家得以依照

 

房间id,删除那几个li成分,从而过滤大家不希罕的主播

RoomObj.js 里加入了 二个对象方法。四个类措施,前边会 讲到 用处

 

 

 

function RoomObj() {
 //获取房间信息
 this.getRoomInfoById = function (roomId) {
  var r="";
  $.ajax({url:"https://bird.ioliu.cn/v1?url=http://open.douyucdn.cn/api/RoomApi/room/" +roomId ,async: false,success:function(result){
   r =result;
  }});
  return r;
 };
。。。。
};
/*通用方法
* t 为开始时间,格式xx-xx-xx xx:xx:xx
*/
RoomObj.getEquationOfTime = function (t) {
 var date1=new Date(t); //开始时间 
 var date2=new Date(); //结束时间
 var date3=date2.getTime()-date1.getTime(); //时间差的毫秒数
 var days=Math.floor(date3/(24*3600*1000));
 var leave1=date3%(24*3600*1000); //计算天数后剩余的毫秒数
 var hours=Math.floor(leave1/(3600*1000));
 hours = (days*24)+hours >10 ? hours:"0"+hours; //计算相差分钟数
 var leave2=leave1%(3600*1000); //计算小时数后剩余的毫秒数
 var minutes=Math.floor(leave2/(60*1000));
 minutes = minutes>10 ? minutes:"0"+minutes; //计算相差秒数
 var leave3=leave2%(60*1000); //计算分钟数后剩余的毫秒数
 var seconds=Math.round(leave3/1000);
 seconds = seconds>10 ? seconds:"0"+seconds;
 return hours+":"+minutes+":"+seconds;
}

/*
*  发送弹幕
*/
RoomObj.sendMsg = function (s) {
 document.getElementsByClassName('cs-textarea')[0].value = s;
 document.getElementsByClassName('b-btn')[0].click();
}

大家先 创立八个 removeRoom的支行

  

 图片 2

上面的
https://bird.ioliu.cn/v1?url=http://open.douyucdn.cn/api/RoomApi/room/
+roomId 段代码是赢得
http://open.douyucdn.cn/api/RoomApi/room/RoomId房间信息的api,可在“**斗鱼第三方开放平台API文档v2.2**”
中找到。因为访问房间的页面是https, api又是http,
所以用了第壹方接口https://bird.ioliu.cn/v1?url= 做了转账,async:
false,设为同步,借使是异步,则等不到消息再次回到,就剖断为空字符串。

 

 

 

removeAds.js 文件中,出席删除更加多的 广告成分

然后起初写代码

$(“.QRcode”).remove();    //摄像内,二维码游戏推广

应当注意的是扩大 content_scripts.js
与斗鱼的js是分离的,不能够相互走访(但都足以访问dom), 纵然 斗鱼的页面有
jquery,大家却不可能调用,所以要引进自身的 jquery文件。

$(“#js-chat-notice”).remove();  //弹幕布告

  1. js目下创办个BaseJs目录,把jquery.min.js 放入。
  2. js目下创办个removeRoom.js 用来依据data-rid删除房间。

$(“.noble-barrage-suspend ul”).remove();     //删除贵族悬浮弹幕

浅析 dom, 大家能够知道 能够 $(“#live-list-contentbox
li”)[0].getAttribute(“data-rid”)获取系列房间的data-rid,然后与
我们要过滤的 房间Id比对,相等就移除

$(“#dialog-more-video”).remove(); //直播甘休,自动跳转

 

$(“.headline h2”).attr(“title”,$(“.headline h2”).text());      
//房间标题(鼠标悬浮会获得越多内容)

“content_scripts”:[{

 

              “js”:
[“js/BaseJs/jquery.min.js”,”js/removeRoom.js”,”js/content_scripts.js”],      
//要注入的js

 

              。。。

闲聊区域字体设置

       }]

$(".QRcode").remove(); //视频内,二维码 游戏推广
$("#js-chat-notice").remove(); //弹幕公告
$(".noble-barrage-suspend ul").remove(); //删除贵族悬浮弹幕
$("#dialog-more-video").remove(); //直播结束,自动跳转
$(".headline h2").attr("title",$(".headline h2").text()); //房间标题(鼠标悬浮会获得更多内容)


聊天区域字体设置
$(".cs-textarea").css("color","black"); //颜色为黑
$(".cs-textarea").css("font-size","14px"); //文字输入区  字体
$(".cs-textarea").css("font-weight","bold");//文字输入区  字体加粗

function getRoomInfo() {
 if (roomInfo =="") {
  roomInfo = roomObj.getRoomInfoById(roomId);
 }
 if (roomInfo !="") {
$(".text").css("font-size","22px");
$(".text").css("font-weight","bold");
  if (roomInfo.data.room_status ==2) { //1.开播 2.关播
   $(".text").text("尚未开播");
  }else{
   var t = RoomObj.getEquationOfTime(roomInfo.data.start_time);
   $(".text").text(t);   
  }
 }
}
$(document).ready(function(){
 ...
 //鼠标进入主播头像区域事件
 $(".anchor-pic.fl").mouseenter(function(){
  getRoomInfo();
 });
});

 

  

removeRoom.js 的代码 (如若以为不美观,能够把多少与办法分成多个文本写)

诸如此类 鼠悬浮在主播头像时,就能 展现 已开播时长

/*
Room 类名
_id    房间id
_des 说明
*/
function Room(_id,_des) {
    this.id = _id;
    if (_des == undefined) {
        this.des ="打的QQ区";
    }else{
        this.des = _des;
    }    
};
//存放微信区的房间数组(xxx为房间id)
var wxRoomArr=[
    new Room(xxxxx,"我是过滤说明"),
    new Room(xxxxxx,"我也是")
];
//仅有QQ区房间id
var qqRoomIdArr=[
    xxxxx,xxxxx
];
//存放QQ区的房间数组
var qqRoomArr=[];
for (var i = 0; i < qqRoomIdArr.length; i++) {    
    qqRoomArr.push(new Room(qqRoomIdArr[i]));
}

//合并微信与QQ区的房间数组
var RoomArr = wxRoomArr.concat(qqRoomArr);

// 10秒过滤一次,因为无刷新更新页面,下次刷新会继续过滤
var removeRoomTimer=setInterval(function(){    
    if (window.location.href == "https://www.douyu.com/g_wzry") {
        var roomIdArr = $("#live-list-contentbox li");
        for (var j = 0; j < roomIdArr.length; j++) {
            var dataRid = roomIdArr[j].getAttribute("data-rid");
            for (var k = 0; k < RoomArr.length; k++) {
                if (RoomArr[k].id == dataRid) {
                    roomIdArr[j].remove();
                    break;
                }                
            }
        }
    }    
},10000);

 图片 3

 

 

* *

 

 

 

 

 

然能够看来在 页面里,把不欣赏的 主播
移除掉了,眼不见为净。(上边的屋子只是测试,并无恶意)

treasureBox.js ,参与抢宝箱前,首发叁个弹幕,并认清假使
在别处展开了此房间,当前窗口关闭。

 

if ($("#treasure").css("display") == "block") { //有无宝箱, "none"无,  "block"有
RoomObj.sendMsg("6666"); //听说发个弹幕,能提高中奖率
doTreasure();
var openBoxTimer=setInterval(function(){
if($(".js-danmu-reconnect.highLight").text()=="点击重新连接弹幕"){ //此页面已在别处打开
window.close();
}
……
}

 图片 4

  

 

 

 

Ps:这里要多说几句 经验所得

然后更新 github上的代码,,关键 命令如下

斗鱼的 “王者农药”栏房间,大致都是 html5的播放器,要是用的是chrome
浏览器里,新的 Chrome浏览器 参与了 禁止录制自动播放
战略,所以您展开房间时,录像是默许不播放的,大家便是为了抢宝箱,能不播放越来越好,从而节省硬件能源。然而只要你在那页面有互动操作,那么录像就能播放了,
按F1二调养景况,也算1种互相,所以会自动播放。可是有的 颜值主播应该用利用
flash播放器,那时,小编用能够先暂停,再删除
falsh播放器节点,防止浪费越多的硬件能源,小编是想在treasure博克斯.js ,
doTreasure()方法内部管理理的。

 

//flash 播放器▽▽▽

git checkout -b branch //当于git branch branch,git checkout branch
git branch -a
git add readme.txt
git commit -m “branch test”
git push origin branch:remotebranch
//冒号前是本地分支名,后面是远程分支名(别称)
git checkout master
git merge branch //git
merge命令用于合并钦命分支到当下支行(以前切换来了master,正是把branch合并到master)

// 管理代码

git pull origin master
git push -u origin master
git push origin master
//将本地的master分支推送到origin主机的master分支,origin是一个远道厂库地址

//flash 播放器△△△

git branch -d branch //删除本地分支
git push origin :remote_branch //删除远程分支remote_branch

function doTreasure() {
 $(".live-room-normal-right.fl").remove(); //删除直播公告
 $(".shie-gift").remove(); //屏蔽特效
 //HTML5 播放器▽▽▽ 
 $(".pause-81a5c3").click(); //暂停视频
 //HTML5 播放器△△△
 //flash 播放器▽▽▽
 //flash 播放器△△△
}

 

  

翻看意况

 

git status

 

//(use “git add <file>…” to include in what will be committed)
是指未有commit的文本

为了 让网页 更加快的加载,能够F1二,然后 按
耗费时间排序,把耗时且不必须的阻断掉,或访问本地。 下图的 最终两项

 

Build-3叁f九一3f.js 这一个 应该是 调节延迟加载变成的,尽管本地访问加载,也是2秒左右。

最终那多少个 是XXXX.flvXX, 是当前实时缓存的。

 图片 5

 

 

嗯,优化好,同步 代码。

 

会用到 的  git add 命令

git add -A .来3遍增加全部改动的公文

git add . 表示加多新文件和编排过的文本不包罗删除的文本;

git add -u 表示加多编辑或然去除的文书,不包蕴新添长的文本。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图