热门推荐
[BLOG] 定制你的网页:以去除b站热搜榜和动态视频为例
2024-10-31 23:52

现在的大部分网页上,都有非常多你完全不关心的东西。事实上,可以通过一些简单的方法来去除常访问的网站上的这种内容。

[BLOG] 定制你的网页:以去除b站热搜榜和动态视频为例

这里,我使用了两个firefox的浏览器插件(基于Chrome内核的浏览器也应当有相应的插件)来展示两种简单的方法。

首先,我们来考虑b站动态中的热搜(注意我这里使用的旧的网页版),打开开发者工具栏,使用左上角的元素选择工具查看热搜元素,我们可以看到:

热搜在一个<div class="topic-panel">中,同时我们可以在右侧的css查看器看到b站的样式通过 .topic-panel 选择了这个元素并修改了其样式。我们可以用同样的方法在插件stylus中新建一个用户样式,并指定样式作用于 然后通过class选择这个div,然后将其display改为none。最后保存为用户样式。

然后可以看到热搜榜没了,并且在样式表中多出的自定义的样式。

当然,css可以完成更多的事情,但是最好自己完整学习一下css的用法,对于基础的使用,一个cheatsheet或者runoob应该完全够用,这里就不赘述了。

但是css选择器也有一定的局限性,下面我们以动态视频举例。

观察一个动态视频的html代码,我们发现整个动态元素在最外层的几个元素上无法通过css分辨出来,但是由于动态视频上有“动态视频”的标签,我们可以通过找到有这个标签的元素然后找到其父元素来删除它。比较简单的方法就是写一个js脚本。这里我使用的tampermonkey来加载脚本。

我们新建一个脚本,然后设置作用的范围为任何含有bilibili.com的域名下(当然也可以更加精确,比如**就是仅在动态页面。

接下来通过之前的查看我们知道,动态视频几个字在 <div class="bili-dyn-card-video__badge" style="">动态视频</div> 中(这里我删去了其中的空格和换行)因此我们通过querySelectAll来找到所有带有bili-dyn-card-video__badge类标签的元素(使用的也是css选择器)然后使用for遍历找到所有内容文字(innerText)为 动态视频 的然后,找到对应的父元素然后将其删除。

注意在主函数中,我们将上述的过程全都添加到了body的一个滚动滚轮事件里,这是因为b站的动态并不是在你访问时一次性添加的,而是在后面不断增加的,这样一来能保证不论滚多久都能删掉对应的元素。事实上,很多现代网站都是这样操作的,也肯定有更好的方法来精确地删除,但是通过滚轮的方法时通用且简单的,我也没有研究过更加精确的方法,如果需要请自行进一步研究。

    以上就是本篇文章【[BLOG] 定制你的网页:以去除b站热搜榜和动态视频为例】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/quote/6070.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多