Giter Club home page Giter Club logo

bilibilitimer's Introduction

Bilibili Video Timer

本拓展用于在Bilibili视频播放页面计算分集/合集视频区间内总时长和分集视频标记.

🍟 欢迎大家在拓展选项页的反馈中提出建议和bug(v2.0.2+可用)

❗ 注意:v3.0.0+版本支持Bilibili视频播放页面-分集视频、合集视频(https://www.bilibili.com/video/*)


安装

本项目已经上架微软商店. 点击右侧About中的microsoftedge链接可直接跳转到免费安装(由于审核速度问题,版本会比Git滞后).

点击Release,下载本代码。在浏览器中进入扩展管理界面,选择加载解压缩的扩展打开Bili-extension文件夹,即可安装.

也可以去release中下载最新版本的crx文件,进入扩展管理界面,将crx文件拖入即可安装.

使用

在Bilibili视频播放页面,点击扩展图标,在弹出的页面中输入想要查看的视频区间,点击计算即可得到总时长.

第一个输入框的值默认为当前视频序号,第二个输入框的值默认为当前视频序号+1.

  • range控件用于拖拽选择. 两个输入框的值不分先后.
  • progress控件展示看过的视频总时长占全长的百分比.
  • ❗ 右键菜单功能,在视频选集区域 鼠标右键-计算到此时长,随后点击扩展图标即自动填入目标视频序号. 默认开启此功能,默认获取到目标视频序号后会有通知,均可在扩展管理界面中关闭.
  • ❗ 视频选集标记功能,在视频选集区域 鼠标右键-标记一下,即可在对应选集前方添加marker标记即使刷新页面也不会消失( •̀ ω •́ )✧). marker默认样式为:✨,若想修改marker可以点击刚刚添加好的marker,即可修改其内容. marker默认样式可以在扩展选项中修改. (如何进入扩展选项:右键本拓展工具图标,点击扩展选项即可)扩展选项中也存放了所有标记过的marker,进入页面后点击查看所有Marker即可对所有Marker进行修改清除操作.

右键菜单-关于视频选集标记功能

视频选集标记功能演示

右键菜单-关于右键计算到此时长

计算到此时长功能演示

[背景视频:BV1gM411W7ex]

  • 为什么不能实现整个自动化?
    右键功能是在background.js中实现,popup的生命周期是在用户点击图标后方才启动。可能是处于安全考虑,浏览器没有提供可以唤醒popup的接口(这是我查阅文档得出的结论)。因此依然需要用户手动点击扩展图标,使得popup弹出,才能自动填入目标视频序号. 随后右键的视频序号销毁.
  • 如何关闭此功能?
    插件默认开启此功能,本插件的右键菜单选项也不会在除了Bilibili视频播放页面的其他页面出现. 若想关闭此功能,可在插件图标右键进入扩展选项关闭. 关闭后插件会自动重启刷新,请在网页中也进行刷新操作.

更新日志

✨v3.0.0 | 2024/6/22

千呼万唤始出来!支持合集、分集视频时长计算的全新版本!(右键功能目前依然仅支持分集视频场景)

✅ 重新编写了基于B站API的版本,出了分集视频以外,还支持合集视频场景!另外修复了不少BUG,欢迎体验!

✨v2.1.0 | 2023/11/9

✅ 新增(重要):右键菜单选项,点击视频选集区域右键-标记一下,即可在对应选集前方添加marker标记即使刷新页面也不会消失( •̀ ω •́ )✧). 欢迎想要留下学习记号的同学尝试!φ(゜▽゜*)♪
📌 marker默认样式为:✨,若想修改marker可以点击刚刚添加好的marker,即可修改其内容.
📌 marker默认样式可以在扩展选项中修改. (如何进入扩展选项:右键本拓展工具图标,点击扩展选项即可)
📌 扩展选项中也存放了所有标记过的marker,进入页面后点击查看所有Marker即可对所有Marker进行修改清除操作.

v2.0.2 | 2023/8/9

✅ 新增:使用反馈,可在扩展选项页点击右侧反馈. 另外增加了个小细节,在BiliBili以外的网页 拓展图标会变灰不可用.

v2.0.1 | 2023/8/4

✅ 新增:集数进度显示. 微调了下popup的样式.

✨v2.0.0 | 2023/6/29

✅ 新增:右键菜单选项,点击视频选集区域右键-计算到此时长,随后点击扩展图标即可自动填入目标视频序号.

v1.1.0 | 2023/6/14

✅ 新增:ProgressBar进度条,用于展示当前视频播放进度.展示当前分集占全长的百分比

v1.0.0 | 2023/4/13

✅ 基于JavaScript+BootStrap实现. 由于体量较小,没有引入jQuery编写
✅ 支持手动输入视频区间,以及使用range控件拖拽选择

目录结构(v3.0.0前)

│  manifest.json // 配置详细描述文件,包括权限等
│  options.html // 扩展选项设置
│  options.js // 相应的js代码
│  popup.html // 扩展窗口
│  popup.js // 相应的js代码,绑定了扩展窗口各个组件的事件,以及和content.js通信的代码
│  AjaxDemo.html // 基于Ajax的Demo,可以实现各种类型的视频时长计算
│  updates.xml
├─build
│      Bili-extension.crx
├─css
│      bootstrap.min.css // bootstrap
├─dist
│      options.dev.js
│      popup.dev.js
├─icons
│      bili.png
│      favicon.ico
│      timeline.png // 扩展的图标
├─img
│      index.png
└─js
   │  background.js // background.js在扩展加载时会被加载,用于实现右键菜单功能
   │  bootstrap.min.js // bootstrap
   │  calTime.js // 计算时长信息
   └─content.js // content.js在网页打开加载阶段会被注入到页面中,因为需要获得视频分集的信息,另外还需要承担和扩展popup.js通信的功能,使得calTime.js的计算结果能被扩展接收到

bilibilitimer's People

Contributors

whimmey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

bilibilitimer's Issues

计算时长失效

点击计算后,from与to 表单数据变换,以及无法计算时长

问题

选择集数点击计算之后并没有出现总时长.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.