mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1.7 KiB
1.7 KiB
下载视频按钮扩展
你可以编写自己的脚本来处理 Bilibili Evolved 产生的视频链接, 提供一个或多个额外的按钮到下载视频面板的导出一栏中.
一个基本的模板如下:
// ==UserScript==
// @name 示例
// @version 1.0.0
// @author Grant Howard
// @match https://www.bilibili.com/video/*
// @match https://www.bilibili.com/bangumi/*
// @match https://www.bilibili.com/medialist/*
// @grant unsafeWindow
// ==/UserScript==
;(async () => {
// 固定模板: 因为不敢保证各个脚本的加载顺序如何, 所以操作前如果对象不存在就创建一下.
if (!unsafeWindow.bilibiliEvolved) {
unsafeWindow.bilibiliEvolved = {}
}
if (!unsafeWindow.bilibiliEvolved.downloadVideoExtensionButtons) {
unsafeWindow.bilibiliEvolved.downloadVideoExtensionButtons = []
}
// 这里添加你的按钮
unsafeWindow.bilibiliEvolved.downloadVideoExtensionButtons.push({
// 按钮唯一名称 (key)
name: 'consoleLog',
// 按钮显示的名称
displayName: '示例',
// [暂未实现, 先都写 false 就行] 是否能处理批量的链接
batch: false,
// 点击按钮执行此函数
action: video => {
// 参数 video 的类型是 download-video.ts 中的 VideoDownloader 类的实例.
// 此示例中简单地把链接打印到 console 中, fragments 是视频的分段, 老的 flv 视频或者 dash 格式都会产生分段
const urls = video.fragments.map(it => it.url).join('\n')
console.log(urls)
}
})
})()
效果如图所示:
