通过 mpv-handler 播放网页上的视频和歌曲
如果想要添加支持的网站,需要初步学习 javascript。 本脚本的适配方式很简单。
目前有两个匹配模式 allow
和 block
,以 youtube 和 twitch 为例:
const SITE_YOUTUBE = {
mode: allow,
list: ["/watch", "/playlist", "/shorts"],
};
const SITE_TWITCH = {
mode: block,
list: ["/directory", "/downloads", "/jobs", "/p", "/turbo"],
};
allow
模式是仅在列出的URL中显示,block
模式是仅在列出的URL中不显示,按照目标网站的视频URL确定所需模式。
以 youtube 为例:
以以上三个URL为前缀的网址均会显示播放图标。
然后将其添加入 metadata 和 MATCHERS
:
// @match *://*.youtube.com/*
// @match *://*.twitch.tv/*
...
const MATCHERS = {
"www.youtube.com": SITE_YOUTUBE,
"m.youtube.com": SITE_YOUTUBE,
"www.twitch.tv": SITE_TWITCH,
};
欢迎 Pull Request。
我试了一下,网页中脚本被调用了,但是依然没有图标,我猜测是下面这个list设置出了问题,这个要怎么找到精准的list网址源头?
const SITE_example = {
mode: allow,
list: ["/video"],
你有将网站加入 MATCHERS 并且与 SITE_example 配对吗?
都加了 都加了
仍然以 youtube 为例,
https://www.youtube.com/watch?v=LtwiotqHFx4
去掉协议
www.youtube.com/watch?v=LtwiotqHFx4
然后 www.youtube.com
这一串则用于 MATCHERS 的键名, SITE_example 为键值。
/watch?v=LtwiotqHFx4
剩下的 /watch
也被称为 pathname 则为 list 值,也可以通过在浏览器 DevTools - Console 页执行 location.pathname
获取。
?v=LtwiotqHFx4
在此处无用,忽略
刚刚试了下,网站同一页面的不同视频,每个pathname值都不一样,看了下格式都是 video.xxxxxxx/_ 但都不同,这种情况怎么设置list ?
example.com/video.xxxxxxx/
? 对于这种的话,建议使用 block
模式排除掉不需要的页面就行了。
甚至你不嫌弃图标在每个页面都显示的话,直接使用 block
模式,list 留空都行。(当然这类就不接受PR了
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址
作者你好,脚本很好用,但我想在支持的视频网站左下角也添加mpv播放的图标,怎么设置?目前只有少数几个站点支持图标播放,如bilibili youtube等,如我我想在左下角添加图标不是不是很麻烦?现在的做法只能是把视频链接粘贴到mpv里播放。如果可以,请告诉我方法。