From 4daf196060877f54ed5eba3920982636bdb262a2 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Mon, 7 Mar 2022 18:16:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20[=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=98=BC=E5=A4=9C=E6=97=B6=E9=97=B4]=20=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E7=B2=BE=E7=A1=AE=E5=88=B0=E5=88=86=E9=92=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DarkMode.user.js | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/DarkMode.user.js b/DarkMode.user.js index 5e8ae07..a1a9f25 100644 --- a/DarkMode.user.js +++ b/DarkMode.user.js @@ -3,7 +3,7 @@ // @name:zh-CN 护眼模式 // @name:zh-TW 護眼模式 // @name:en Dark Mode -// @version 1.4.1 +// @version 1.4.2 // @author X.I.U // @description 简单有效的全网通用护眼模式(夜间模式、暗黑模式、深色模式) // @description:zh-CN 简单有效的全网通用护眼模式(夜间模式、暗黑模式、深色模式) @@ -35,13 +35,17 @@ ['menu_forcedToEnable', '✅ 已强制当前网站启用护眼模式 (👆)', '❌ 未强制当前网站启用护眼模式 (👆)', []], ['menu_darkModeType', '点击切换模式', '点击切换模式', 2], ['menu_customMode', '自定义当前模式', '自定义当前模式', true], ['menu_customMode1',,,'80|70'], ['menu_customMode2',,,'80|20|70|30'], ['menu_customMode3',,,'90'], ['menu_customMode3_exclude',,,'img, .img, video, [style*="background"][style*="url"], svg'], - ['menu_customTime', '自定义昼夜时间', '自定义昼夜时间', '6|18'], + ['menu_customTime', '自定义昼夜时间', '自定义昼夜时间', '6:00|18:00'], ['menu_autoSwitch', '晚上自动切换模式', '晚上自动切换模式', ''], ], menu_ID = []; for (let i=0;i 1) {addStyle();} @@ -141,7 +145,7 @@ function getAutoSwitch() { let darkModeType = GM_getValue('menu_darkModeType'), hours = new Date().getHours(), time = GM_getValue('menu_customTime').split('|').map(Number); if (GM_getValue('menu_autoSwitch') != '') { // 晚上自动切换模式 - if (hours > time[0] && hours < time[1]) { // 白天 + if (isDaytime()) { // 白天 darkModeType = GM_getValue('menu_autoSwitch').split('|')[0]; } else { // 晚上 darkModeType = GM_getValue('menu_autoSwitch').split('|')[1]; @@ -201,9 +205,9 @@ // 自定义昼夜时间 function menu_customTime() { - let newMods = prompt('自定义脚本内和白天/晚上相关的时间,修改后刷新网页生效~\n格式:6|18 (即 6:00 ~ 18:00 之间是白天时间)', GM_getValue('menu_customTime')); + let newMods = prompt('自定义脚本内和白天/晚上相关的时间,修改后刷新网页生效~\n格式:6:01|18:30 (即 6:01 ~ 18:30 之间是白天时间)', GM_getValue('menu_customTime')); if (newMods === '') { - GM_setValue('menu_customTime', '6|18'); + GM_setValue('menu_customTime', '6:00|18:00'); registerMenuCommand(); // 重新注册脚本菜单 } else if (newMods != null) { GM_setValue('menu_customTime', newMods); @@ -340,7 +344,6 @@ function addStyle() { let remove = false, style_Add = document.createElement('style'), hours = new Date().getHours(), - time = GM_getValue('menu_customTime').split('|').map(Number), style_10 = menu_value('menu_customMode1').split('|'), style_20 = menu_value('menu_customMode2').split('|'), style_30 = menu_value('menu_customMode3').split('|'), @@ -371,7 +374,7 @@ } // 白天 - if (hours > time[0] && hours < time[1]) { + if (isDaytime()) { if (menu_value('menu_runDuringTheDay')) { style_12 = style_11 style_22 = style_21 @@ -477,4 +480,15 @@ let rgbValueArry = window.getComputedStyle(e).backgroundColor.replace(/rgba|rgb|\(|\)| /g, '').split (',') return parseInt(rgbValueArry[0] + rgbValueArry[1] + rgbValueArry[2]) } + + + // 判断当前是白天还是晚上 + function isDaytime() { + let nowTime = new Date('2022-03-07 ' + new Date().getHours() + ':' + new Date().getMinutes() + ':00').getTime()/1000, time = GM_getValue('menu_customTime').split('|'); + time[0] = new Date('2022-03-07 ' + time[0] + ':00').getTime()/1000; + time[1] = new Date('2022-03-07 ' + time[1] + ':00').getTime()/1000; + + if (nowTime > time[0] && nowTime < time[1]) return true + return false + } })(); \ No newline at end of file