您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
去除课表中的“本”、课程及教学班编号、星期等以简化信息
// ==UserScript== // @name BIT-本硕博一体化-课表 // @namespace http://tampermonkey.net/ // @version 0.3.1 // @description 去除课表中的“本”、课程及教学班编号、星期等以简化信息 // @license GPL-3.0-or-later // @supportURL https://github.com/YDX-2147483647/BIT-enhanced/issues // @author Y.D.X. // @match http://jxzxehallapp.bit.edu.cn/jwapp/sys/wdkbby/* // @match https://jxzxehallapp.bit.edu.cn/jwapp/sys/wdkbby/* // @grant none // ==/UserScript== (function () { 'use strict' // interval's unit: ms. function wait_until_presence (selector, interval) { return new Promise((resolve, reject) => { const check = setInterval(function () { if (document.querySelector(selector)) { clearInterval(check) resolve(document.querySelector(selector)) } }, interval) }) } function shrink_titles () { // 这里选出来的是每节课中的“本”或“研”字 // 根据 weekUnitTableInfo.js ,存在漏选的理论可能性 document.querySelectorAll('.mtt_item_kcmc > span.mtt_item_bybz').forEach(icon => { // 课程名称 const course_name = icon.parentNode course_name.textContent = icon.nextSibling.textContent.replace( /^\d{8,9}\s(.+)\[(\d{2}|\d{9})\]$/, '$1') // 课程详细信息 const course_detail = course_name.parentNode.querySelector('.mtt_item_room') course_detail.textContent = course_detail.textContent .replace(/(良乡|中关村)校区,?/, '') .replace(/星期[\d一二三四五六日],/, '') .replace('节-第', '-') // 例:第8节-第10节 -> 第8-10节 }) } function wait_and_shrink_titles () { wait_until_presence('#kcb_container', 200).then(shrink_titles) } wait_until_presence('#kcb_container', 1000).then(function () { shrink_titles() // 周/学期课表切换栏 const change_buttons_selectors = [ 'i.icon-keyboardarrowleft', 'i.icon-keyboardarrowright', "[data-action='周课表学年学期']", "[data-action='周课表周课表']" ] for (const s of change_buttons_selectors) { document.querySelector(s).addEventListener('click', wait_and_shrink_titles) } }) wait_until_presence("#dqxnxq2 + a[data-action='更改2']", 1000).then(button => { // 更改学期时的对话框是每次现画的……所以每次更改都要加 button.addEventListener('click', function () { document.querySelector('#buttons > button.bh-btn-primary').addEventListener( 'click', wait_and_shrink_titles) }) }) })()
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址