斗鱼开播提醒

🌎使用方法

💼Plus功能

  • 下播提醒
  • 每次提醒重新刷新 关注页面
  • 最近10条历史通知 弹窗查看
  • 彩虹旋转边框环绕带牌子直播间
    彩虹旋转边框
  • 视频轮播 单元格窗口 置灰 (鼠标移至视频轮播单元格仍然可以预览视频轮播内容)
    置灰视频轮播
  • 粤语/国语 语音播报 改标题/下播/开播 提醒
    语音列表

🚀版本更新

3.4.10

  • 关闭历史通知 不再弹窗提示刷新网页
  • 我的关注视频轮播 的单元格置灰
  • 增加主页/更新按钮
  • 开播下播历史通知逆时排序 先看最近的
  • 只保留最近10条历史通知

3.3.6

  • 关闭系统通知时 用页面常驻弹窗通知

3.3.5

  • 3.3.5 油猴脚本工程化项目 版本更新

3.3.4

  • 增加通知提醒开关按钮

3.3.3

  • 增加语音播报开关按钮

3.3.2

  • 关闭设置界面不再刷新 关注页面 而是语音播报设置修改内

3.2

  • 增加设置界面 方便用户使用

🙏致谢

Script 继承了 @P- 的 原脚本 在此感谢 @P- 的开发工作。

🐊源码

源码

油猴脚本douyu_followpage源码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function speak(
{ text, speechRate, lang, volume, pitch },
endEvent,
startEvent
) {
if (!window.SpeechSynthesisUtterance) {
console.warn("当前浏览器不支持文字转语音服务");
return;
}

if (!text) {
return;
}
let onoff = GM_getValue("switchVoice", true);
if (onoff != true) {
return;
}

let setlang = GM_getValue("LANG", "zh-CN");
let setrate = GM_getValue("RATE", 1);
const speechUtterance = new SpeechSynthesisUtterance();
speechUtterance.text = text;
speechUtterance.rate = speechRate || setrate;
speechUtterance.lang = lang || setlang;
speechUtterance.volume = volume || 1;
speechUtterance.pitch = pitch || 1;
speechUtterance.onend = function () {
endEvent && endEvent();
};
speechUtterance.onstart = function () {
startEvent && startEvent();
};
var timeFun = window.setInterval(function () {
window.clearInterval(timeFun);
speechSynthesis.speak(speechUtterance);
}, 500);

return speechUtterance;
}

Here is a footnote reference,[^1] and another.[^longnote]

Endnotes

[^1]: Here is the footnote.
[^longnote]: Here’s one with multiple blocks.