您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
根据放送开始日期自动计算并填写放送星期
// ==UserScript== // @name Bangumi 放送星期自动填写 // @namespace https://github.com/stay206 // @version 1.0 // @description 根据放送开始日期自动计算并填写放送星期 // @author 墨云(Sumora) // @match https://bangumi.tv/new_subject/* // @match https://bgm.tv/new_subject/* // @match https://chii.in/new_subject/* // @match https://bangumi.tv/subject/*/edit_detail // @match https://bgm.tv/subject/*/edit_detail // @match https://chii.in/subject/*/edit_detail // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; const weekdayMap = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; function parseDate(dateStr) { // YYYY年MM月DD日 格式 const chineseMatch = dateStr.match(/(\d{4})年(\d{1,2})月(\d{1,2})日/); if (chineseMatch) { const year = parseInt(chineseMatch[1], 10); const month = parseInt(chineseMatch[2], 10) - 1; const day = parseInt(chineseMatch[3], 10); return new Date(year, month, day); } // YYYY-MM-DD const date = new Date(dateStr); if (!isNaN(date.getTime())) { return date; } return null; } function updateWeekday() { const startDateInput = document.querySelector('input[tabindex="1024"][value="放送开始"]'); if (!startDateInput) return; const datePropInput = startDateInput.nextElementSibling; const dateValue = datePropInput.value.trim(); const weekdayInput = document.querySelector('input[tabindex="1024"][value="放送星期"]'); if (!weekdayInput) return; const weekdayPropInput = weekdayInput.nextElementSibling; if (!dateValue) { weekdayPropInput.value = ''; return; } const date = parseDate(dateValue); if (!date) { // 日期无效,清空放送星期 weekdayPropInput.value = ''; return; } const dayOfWeek = date.getDay(); const weekday = weekdayMap[dayOfWeek]; weekdayPropInput.value = weekday; } // 监听输入框变化 const startDatePropInput = document.querySelector('input[tabindex="1024"][value="放送开始"]').nextElementSibling; if (startDatePropInput) { startDatePropInput.addEventListener('input', updateWeekday); // 在页面加载时执行一次,以防已经有值 updateWeekday(); } })();