Skip to content

Commit 76fc540

Browse files
committed
新增 记住静音功能(如果在关闭网页前取消静音,则不会记住); 修复 手动将音量调整为 0 时无法记住的问题
1 parent efbb139 commit 76fc540

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

HTML5Volume.user.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// ==UserScript==
22
// @name HTML5 视频音频默认音量
3-
// @version 1.0.0
3+
// @version 1.0.1
44
// @author X.I.U
55
// @description 避免被一些默认 100% 音量的视频/音频吓一跳(或社死)!且支持各网站分别记住音量...
66
// @match *://*/*
@@ -64,15 +64,19 @@
6464

6565
// 音量变化事件(记住音量)
6666
function volumeChangeEvent(event) {
67-
if (localStorage.getItem('html5_xiu_currentVolume') || ((event.target.volume * 100) !== GM_getValue('menu_defaultVolume', 30))) localStorage.setItem('html5_xiu_currentVolume', event.target.volume * 100)
67+
if (event.target.muted) { // 判断是否静音
68+
localStorage.setItem('html5_xiu_currentVolume', 0)
69+
} else if (localStorage.getItem('html5_xiu_currentVolume') || ((event.target.volume * 100) !== GM_getValue('menu_defaultVolume', 30))) {
70+
localStorage.setItem('html5_xiu_currentVolume', event.target.volume * 100)
71+
}
6872
}
6973

7074

7175
// 修改视频音量
7276
function modifyVolume(_this) {
7377
if (!_this.controls) return; // 如果视频/音频没有默认控件,则代表是
7478
let nowVolume = parseFloat(localStorage.getItem('html5_xiu_currentVolume')); // 先看看 localStorage 有没有(即用户是否手动调整过音量)
75-
if (!nowVolume) nowVolume = GM_getValue('menu_defaultVolume', 30); // 如果 localStorage 没有,那就从脚本配置中获取
79+
if (!nowVolume && nowVolume !== 0) nowVolume = GM_getValue('menu_defaultVolume', 30); // 如果 localStorage 没有,那就从脚本配置中获取
7680
if (!((typeof nowVolume === 'number') && nowVolume <= 100)) nowVolume = 30; // 如果获取到的音量数值不是数字,或大于 100,则重置为 30
7781
_this.volume = nowVolume / 100; // 设置音量为 0~1 范围
7882
}

0 commit comments

Comments
 (0)