您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
修改了原东南大学办事大厅“我的课表”的一些愚蠢设计。注意,目前本脚本仅在tampermonkey上测试过,且仅针对本人课表做了优化,保证打印时不会超出页面。如果在您的浏览器中出现周课表横屏打印页面超出,请适当调整代码第383行function printTitle()内的margin-top属性(该属性控制标题离页面顶部的距离),或者,选择竖屏格式打印。如果你有更好的解决方法,欢迎联系我!(联系方式见文档底部)
作为一名东南大学的学生,我想你一定用过那个愚蠢的网页版“我的课表”。
东大信息化上的课表证明了他们(金智教育股份有限公司)明明有能力按节数显示课程,却非要把课程堆在一块;明明可以做每节课的起止时间,却没有添加;虽然做了打印功能,但我想没有人会真的使用这个功能,因为打印的页面不仅没有页边距,而且常常出格到第二页,课程信息也混在一起,谁用谁知道。至于下载图片的功能,勉强有点用,但结合了之前课程堆在一块的设计,用处聊胜于无。
如果你查看我的代码,你会发现我把所有的课程信息存入了一个一个json数组。如果你想导出这个json文件,你可以在合适的位置添加这个函数:
function generateJson(courseTable) {
// 将CourseTable对象转换为JSON字符串
let jsonStr = JSON.stringify(courseTable);
// 创建Blob对象
let blob = new Blob([jsonStr], { type: "application/json" });
// 创建下载链接
let url = URL.createObjectURL(blob);
// 创建下载链接的a标签并模拟点击
let a = document.createElement("a");
a.href = url;
a.download = "课表生成.json";
a.click();
// 释放资源
URL.revokeObjectURL(url);
}
这个函数可以作为一个下载按钮的触发函数,你可能需要在页面合适的位置添加一个按钮,当然,你也可以把这个函数绑定到页面上现有的元素上。我更推荐前一种。如果你需要这个功能,联系我,或者等待后续更新。可以预告的是,以我目前的能力,我可以在原有的“打印”“下载”按钮右侧添加两个按钮,分别是导出为json和导出为excel,后续我有可能会更新这个功能。
*以下是按钮的html示例,如果你有能力,可以在合适的位置添加这段html代码:
<button class="btn" onclick="generateJson()">导出Json</button>
<input type="file" id="file-input" onchange="inputFile()">
<button class="btn" onclick="importFile()">导入Json</button>
// 获取被隐藏的真正的上传文件按钮
const fileInput = document.getElementById("file-input");
// 通过虚假的上传按钮模拟点击操作
function importFile() {
fileInput.click();
}
// 当真正的上传文件按钮内容变化时,读取文件内容并显示到页面上
function inputFile() {
const file = fileInput.files[0];
const reader = new FileReader();
reader.readAsText(file, "UTF-8");
reader.onload = function(e) {
const contents = e.target.result;
courseTable = JSON.parse(contents);
console.log(courseTable); // 打印读取后的courseTable对象
showSemesterTable();
showWeekTable();
fileInput.value = '';
};
}
希望能帮到大家!
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址