MatchedVideosOfBili

To find the matched videos posted by followings

作者
Ouphi
日安装量
0
总安装量
4
评分
0 0 0
版本
0.1
创建于
2022-08-06
更新于
2022-08-06
大小
20.2 KB
许可证
MPL
适用于

MatchedVideosOfBili


项目说明

从关注的up主所发布的视频中搜索。

需要先安装并启用 “FollowingListOfBili”脚本。


操作说明

  • 根据主页面初始url判断各种信息;在当前页面直接跳转后(比如改了新的关键词后搜索,而不是打开新页面到后台)会不处理,此时需要刷新。
  • 等待初始化成功后,在“综合”“用户”...的一栏,会出现新的“关注”选项,点击即可。
  • 是滚动加载的;在当前页面加载后,在最下方会显示“下一页”按钮,点击即可更新,直到最后一页。
  • 会有一些适应页面比例的冗余视频,class为"to_hide_xs",最多有18个。对该部分视频不做处理,在6行4列中不会出问题,但在5列或其他中请忽略多余部分。
  • 在页末会显示子页面,可以看到当前正在查找的up主,以及搜索内容。

代码说明

架构介绍

  • 没有js基础,所以代码都是c风格,有一些函数可能写麻烦了。
  • 想要得到定时检查页面元素的效果,又不阻塞页面的加载。所以使用了setTimeout,是类似于汇编代码的架构。

架构分析

  • run函数是用来控制整个流程的。其中每次循环跳转、等待加载,都封装成了run_1-run_n的函数,根据flag跳转
  • run0是等待页面加载的函数,每隔固定时间检查一次
  • 具体的结构,可以根据当前flag的值,与下一个run函数的flag,画出流程图/有限状态机,即可清晰了解

自定义内容

对于需要个性化的内容,此处提供了修改流程

  • 指定uids:直接给关注列表赋值(run3GetFollowingUids函数, 245行)
  • 分组搜索:点开分组页面,查看url中tag属性,并修改子页面src(run1GetAndFixPage函数,230行)
  • 隐藏子页面:修改子页面display属性(addChildIframe函数,468行)

bug反馈

  • F12查看console,找到无重复flag的最后一项。
  • 保存该项及前5项的显示信息,对相应flag的run函数添加各个元素的显示注释。
  • 复现问题,读取到各个位置时函数内的元素状态,并分析。
  • 将上述操作截图/复制并反馈。