您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
🏖️ Closes specific websites tabs except Sunday and different ones on weekdays from 9:30 to 18:30
// ==UserScript== // @name Only When Sunday // @namespace https://github.com/mefengl // @author mefengl // @version 0.3.7 // @description 🏖️ Closes specific websites tabs except Sunday and different ones on weekdays from 9:30 to 18:30 // @match *://*/* // @grant none // @license MIT // ==/UserScript== (() => { 'use strict'; const specialDates = getSpecialDates(); const websitesToClose = [ 'bilibili.com', 'ddys.art', 'discord.com', 'outlook.live.com', 'spotify.com', 'sspai.com', 'twitter.com', 'weibo.com', 'youtube.com', 'zhihu.com', 'telegram.org', ]; const websitesToCloseDuringWork = [ 'greasyfork.org', 'hellogithub.com', ]; const currentDate = new Date().toISOString().slice(0, 10).replace(/-/g, ''); const currentHour = new Date().getHours(); const currentMinute = new Date().getMinutes(); const currentDay = new Date().getDay(); const isSunday = currentDay === 0; const isWorkingHours = (currentHour > 9 && currentHour < 18) || (currentHour === 9 && currentMinute >= 30) || (currentHour === 18 && currentMinute <= 30); const isWorkingDay = currentDay >= 1 && currentDay <= 5; const isWorkingDayNotWorkingHours = isWorkingDay && !isWorkingHours; if (isSunday) { // No restrictions on Sunday return; } if (isWorkingHours && (websitesToClose.some(website => window.location.href.includes(website)) || websitesToCloseDuringWork.some(website => window.location.href.includes(website)))) { window.close(); } if (isWorkingDayNotWorkingHours && specialDates.some(date => currentDate >= date.start && currentDate <= date.end) && websitesToClose.some(website => window.location.href.includes(website))) { window.close(); } })(); function getSpecialDates() { const icsString = getIcsString(); const eventBlocks = icsString.match(/BEGIN:VEVENT[\s\S]*?END:VEVENT/g); return eventBlocks.map(block => { const dtstart = block.match(/DTSTART:(\d{8})T\d{6}/)[1]; const dtend = block.match(/DTEND:(\d{8})T\d{6}/)[1]; return { start: dtstart, end: dtend }; }); } /* * 以下内容来自 https://github.com/lanceliao/china-holiday-calender */ function getIcsString() { return `BEGIN:VCALENDAR PRODID:-//ShuYZ.com//China Public Holidays 2.0//CN VERSION:2.0 CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALNAME:ShuYZ中国节假日(补班) X-WR-TIMEZONE:Asia/Shanghai X-WR-CALDESC:2021~2023年中国节假日(补班) 更新时间2023-06-14 19:35:13 BEGIN:VTIMEZONE TZID:Asia/Shanghai X-LIC-LOCATION:Asia/Shanghai BEGIN:STANDARD TZOFFSETFROM:+0800 TZOFFSETTO:+0800 TZNAME:CST DTSTART:19700101T000000 END:STANDARD END:VTIMEZONE BEGIN:VEVENT DTSTART:20230128T090000 DTEND:20230128T180000 DTSTAMP:20230128T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:二、春节:1月21日至27日放假调休,共7天。1月28日(星期六)、1月29日(星期日)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2022-12/08/content_5730844.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:春节 补班 第1天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20230129T090000 DTEND:20230129T180000 DTSTAMP:20230129T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:二、春节:1月21日至27日放假调休,共7天。1月28日(星期六)、1月29日(星期日)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2022-12/08/content_5730844.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:春节 补班 第2天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20230423T090000 DTEND:20230423T180000 DTSTAMP:20230423T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:四、劳动节:4月29日至5月3日放假调休,共5天。4月23日(星期日)、5月6日(星期六)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2022-12/08/content_5730844.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:劳动节 补班 第1天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20230506T090000 DTEND:20230506T180000 DTSTAMP:20230506T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:四、劳动节:4月29日至5月3日放假调休,共5天。4月23日(星期日)、5月6日(星期六)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2022-12/08/content_5730844.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:劳动节 补班 第2天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20230625T090000 DTEND:20230625T180000 DTSTAMP:20230625T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:五、端午节:6月22日至24日放假调休,共3天。6月25日(星期日)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2022-12/08/content_5730844.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:端午节 补班 第1天/共1天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20231007T090000 DTEND:20231007T180000 DTSTAMP:20231007T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:六、中秋节、国庆节:9月29日至10月6日放假调休,共8天。10月7日(星期六)、10月8日(星期日)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2022-12/08/content_5730844.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:中秋节、国庆节 补班 第1天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20231008T090000 DTEND:20231008T180000 DTSTAMP:20231008T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:六、中秋节、国庆节:9月29日至10月6日放假调休,共8天。10月7日(星期六)、10月8日(星期日)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2022-12/08/content_5730844.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:中秋节、国庆节 补班 第2天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20220129T090000 DTEND:20220129T180000 DTSTAMP:20220129T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:二、春节:1月31日至2月6日放假调休,共7天。1月29日(星期六)、1月30日(星期日)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2021-10/25/content_5644835.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:春节 补班 第1天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20220130T090000 DTEND:20220130T180000 DTSTAMP:20220130T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:二、春节:1月31日至2月6日放假调休,共7天。1月29日(星期六)、1月30日(星期日)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2021-10/25/content_5644835.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:春节 补班 第2天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20220402T090000 DTEND:20220402T180000 DTSTAMP:20220402T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:三、清明节:4月3日至5日放假调休,共3天。4月2日(星期六)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2021-10/25/content_5644835.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:清明节 补班 第1天/共1天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20220424T090000 DTEND:20220424T180000 DTSTAMP:20220424T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:四、劳动节:4月30日至5月4日放假调休,共5天。4月24日(星期日)、5月7日(星期六)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2021-10/25/content_5644835.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:劳动节 补班 第1天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20220507T090000 DTEND:20220507T180000 DTSTAMP:20220507T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:四、劳动节:4月30日至5月4日放假调休,共5天。4月24日(星期日)、5月7日(星期六)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2021-10/25/content_5644835.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:劳动节 补班 第2天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20221008T090000 DTEND:20221008T180000 DTSTAMP:20221008T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:七、国庆节:10月1日至7日放假调休,共7天。10月8日(星期六)、10月9日(星期日)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2021-10/25/content_5644835.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:国庆节 补班 第1天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20221009T090000 DTEND:20221009T180000 DTSTAMP:20221009T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:七、国庆节:10月1日至7日放假调休,共7天。10月8日(星期六)、10月9日(星期日)上班。\n\n放假通知: http://www.gov.cn/zhengce/content/2021-10/25/content_5644835.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:国庆节 补班 第2天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20210207T090000 DTEND:20210207T180000 DTSTAMP:20210207T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:二、春节:2月11日至17日放假调休,共7天。2月7日(星期日)、2月20日(星期六)上班。\n\n放假通知: http://www.gov.cn/fuwu/2020-11/25/content_5564533.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:春节 补班 第1天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20210220T090000 DTEND:20210220T180000 DTSTAMP:20210220T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:二、春节:2月11日至17日放假调休,共7天。2月7日(星期日)、2月20日(星期六)上班。\n\n放假通知: http://www.gov.cn/fuwu/2020-11/25/content_5564533.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:春节 补班 第2天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20210425T090000 DTEND:20210425T180000 DTSTAMP:20210425T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:四、劳动节:5月1日至5日放假调休,共5天。4月25日(星期日)、5月8日(星期六)上班。\n\n放假通知: http://www.gov.cn/fuwu/2020-11/25/content_5564533.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:劳动节 补班 第1天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20210508T090000 DTEND:20210508T180000 DTSTAMP:20210508T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:四、劳动节:5月1日至5日放假调休,共5天。4月25日(星期日)、5月8日(星期六)上班。\n\n放假通知: http://www.gov.cn/fuwu/2020-11/25/content_5564533.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:劳动节 补班 第2天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20210918T090000 DTEND:20210918T180000 DTSTAMP:20210918T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:六、中秋节:9月19日至21日放假调休,共3天。9月18日(星期六)上班。\n\n放假通知: http://www.gov.cn/fuwu/2020-11/25/content_5564533.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:中秋节 补班 第1天/共1天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20210926T090000 DTEND:20210926T180000 DTSTAMP:20210926T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:七、国庆节:10月1日至7日放假调休,共7天。9月26日(星期日)、10月9日(星期六)上班。\n\n放假通知: http://www.gov.cn/fuwu/2020-11/25/content_5564533.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:国庆节 补班 第1天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT BEGIN:VEVENT DTSTART:20211009T090000 DTEND:20211009T180000 DTSTAMP:20211009T000000Z UID:[email protected] CREATED:20230614T193513Z DESCRIPTION:七、国庆节:10月1日至7日放假调休,共7天。9月26日(星期日)、10月9日(星期六)上班。\n\n放假通知: http://www.gov.cn/fuwu/2020-11/25/content_5564533.htm LAST-MODIFIED:20230614T193513Z SEQUENCE:0 STATUS:TENTATIVE SUMMARY:国庆节 补班 第2天/共2天 TRANSP:OPAQUE BEGIN:VALARM TRIGGER:-PT60M ACTION:DISPLAY END:VALARM END:VEVENT END:VCALENDAR`; }