宝哥软件园

用JS代码自动删除稿件普通弹幕功能

编辑:宝哥软件园 来源:互联网 时间:2021-08-20

事件的起因是在哔哩哔哩提交了一个先进弹幕测试的视频(av9940487),但是因为哔哩哔哩的弹幕池机制是新弹幕打掉旧弹幕,所以一些人发的先进弹幕很快就被打掉了。

所以我想写一个脚本,把属性自动删除为普通弹幕。语言是javascript,这个脚本可以在chrome控制台上执行。

1.删除弹幕的过程分析

判断弹幕A是否是普通弹幕,如果是,选择它。

点击按钮删除弹幕,弹出二次确认框。

单击“确定”成功删除。

2.删除弹幕相关的html代码,选择js代码2.1

您可以通过判断类别属性为“item-front”的标签是否包含“advanced”一词来决定是否检查弹幕:

文件。getelementsbyclassname(' item-font ')[I]。innerhtml。匹配('高级')getelementsbyclassname('毕丽-复选框')[i 1]。单击此处是因为还有其他标签也使用了“毕丽-复选框”属性。

2.2

使用点击功能触发点击“删除弹幕”按钮的操作:

document . getelementsbyclassname(' dele-BTN ')[0]。getElementsByClassName('普通')[0]。单击();

单击辅助确认框:

for(I=0;I document . getelementsbyclassname(' item-attr ')。长度;i ) {if(!document . getelementsbyclassname(' item-font ')[I]。innerhtml . match(' advanced '){ document . getelementsbyclassname('毕丽-checkbox') [I 1]。单击();} } document . getelementsbyclassname(' dele-BTN ')[0]。getElementsByClassName('普通')[0]。单击();document . getelementsbyclassname('毕丽-btn')[2]。单击();但是,由于控制台执行js代码太快,所以在执行第七行代码时,不会加载类属性为“毕丽-btn”的第三个标记,因此在执行第七条语句之前需要暂停。

延迟执行可以通过使用setTimeout()方法来实现

setTimeout(function(){ document . getelementsbyclassname('毕丽-btn')[2]。单击();}, 1000);或者

setTimeout(' document . getelementsbyclassname( '毕丽-btn')[2]。click()',1000);至此,单个页面只实现了一次批量删除,但我们知道,如果弹幕中有n个页面,以上代码必须保持运行,直到X页面不包含普通弹幕,然后跳转到x 1页面继续执行以上删除代码。

3.不断刷新页面,当当前页面的正常弹幕被删除时,自动跳转到下一页

可以结合另一篇文章:https://www.cnblogs.com/wujiecong/p/11549738.html来实现

Var timeout=提示符('设置刷新时间');var current=location.hrefvar page=0;var计数=0;if(超时0){ setTimeout('reload()',1000 *超时);}else{location.replace(当前);}函数reload(){ setTimeout('reload()',1000 * time out);if(count 10){ const regex=/pn=( d)/;page=page 1;current=current.replace(regex,' pn=' page . tostring())} var frame=' frameset cols= ' * ' n frame src= ' ' current ' '//frameset ';With(document){ //引用document对象,调用write方法写框架,打开新窗口write(frame);setTimeout(function(){ count=0 getframes=window . frames[' 0 ']for(I=0;I getframes . document . getelementsbyclassname(' item-attr ')。长度;i ) {if(!getframes . document . getelementsbyclassname(' item-font ')[I]。innerhtml . match(' advanced '){ getframes . document . getelementsbyclassname('毕丽-checkbox') [I 1]。单击();计数=计数1;} } if(count 0){ getframes . document . getelementsbyclassname(' dele-BTN ')[0]。getElementsByClassName('普通')[0]。单击();setTimeout(function(){ getframes . document . getelementsbyclassname('毕丽-btn')[2]。单击();}, 1000);}},2000);//关闭上面的窗口void(close());};}摘要

以上是边肖介绍的JS代码自动删除稿件的普通弹幕功能。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!如果你觉得这篇文章对你有帮助,请转载,请注明出处,谢谢!

更多资讯
游戏推荐
更多+