学
学习通课件解析助手
在已登录的学习通章节页解析课件,并下载自己有权访问的资源。
#超星学习通
#学习辅助
#课件下载
Statistics
Total Installs
24
Last 24h
+1
User Rating
-
Description
Versions1
Ratings0
Permissions
Chaoxing Courseware Helper: Parse and download courseware re
学习通课件解析助手
在学习通课程章节页中,一键整理当前章节内自己有权访问的课件资源,并按需下载到浏览器默认下载目录。
学习通课件解析助手 是一个运行在 Tampermonkey(油猴)、ScriptCat(脚本猫) 或兼容用户脚本管理器中的轻量脚本。它不会要求输入账号密码,也不会保存 Cookie;只在用户已经登录学习通的浏览器页面中工作。
✨ 主要功能
| 功能 | 说明 |
|---|---|
| 左侧悬浮书签 | 页面左侧垂直居中显示“课件解析”书签,收起时不遮挡课程内容。 |
| 位置拖拽与磁吸 | 无论面板展开或收起,按住书签即可上下拖动;松手后自动吸附到左侧位置网格。 |
| 可折叠面板 | 点击书签展开操作面板;再次点击书签或点击面板外任意位置即可收起。 |
| 一键解析 | 自动读取当前章节的附件,并提取可访问资源的实际地址。 |
| 多格式识别 | 自动标记 PDF、PPT、Word、视频、表格、压缩包及其他文件。 |
| 勾选下载 | 每个资源均可独立勾选,避免下载不需要的资料。 |
| 批量下载 | 点击“下载选中”后,文件依次下载到浏览器默认下载目录。 |
| 可滚动结果栏 | 面板默认显示约四行文件,更多结果可在框内滚动查看。 |
| 单一面板 | 仅在顶层页面创建一个入口,避免学习通多层播放器造成重复悬浮按钮。 |
🖼️ 使用体验
- 正常登录学习通并打开某一课程的具体章节。
- 点击左侧的 课件解析 书签。
- 在展开面板中点击 一键解析本章课件。
- 在结果列表中保留需要的文件勾选。
- 点击 下载选中,等待浏览器开始下载。
展开面板后,点击左侧书签、课程页面的其他区域或课件播放器区域,面板都会自动收起。
调整书签位置
按住左侧“课件解析”书签并上下拖动即可调整位置。松开鼠标或手指后,书签会保持在浏览器左侧并自动吸附到附近的垂直位置;脚本会记住该相对位置。短按不拖动时,仍按原逻辑展开或收起面板。
第一次发起多个文件下载时,Chrome 或 Edge 可能询问是否允许该站点下载多个文件;请选择“允许”。
🔍 支持的资源类型
脚本优先根据附件名称、资源地址后缀和学习通附件类型进行识别。
| 类型 | 常见扩展名 | 列表标签 |
|---|---|---|
.pdf |
PDF |
|
| 演示文稿 | .ppt、.pptx、.pps、.ppsx |
PPT |
| Word 文档 | .doc、.docx、.wps |
WORD |
| 表格 | .xls、.xlsx、.csv |
表格 |
| 视频 | .mp4、.m3u8、.flv、.avi、.mov、.mkv |
视频 |
| 压缩包 | .zip、.rar、.7z |
压缩包 |
| 其他附件 | 无法从名称或地址判断的普通文件 | 文件 |
⚙️ 工作原理
脚本将手动打开开发者工具、刷新页面、在网络请求中寻找资源地址的流程自动化:
已登录的学习通章节页
│
▼
读取页面附件信息 mArg.attachments
│(页面未直接提供时,回退读取章节 cards 信息)
▼
取得每个附件的 objectId
│
▼
请求 ananas/status/{objectId}
│
▼
从 pdf / download / http 字段提取资源链接
│
▼
在悬浮面板展示、勾选并批量下载
关键实现
- 用户脚本运行环境:适配油猴、脚本猫以及支持 Greasemonkey API 的脚本管理器。
- 登录态复用:请求在当前浏览器的已登录环境下进行,不需要脚本处理账号、密码或 Cookie。
- 资源解析:先尝试读取章节页脚本变量
mArg.attachments;若课程内容由异步页面或播放器加载,则使用章节 cards 信息作为回退来源。 - 资源状态查询:依据附件
objectId查询学习通资源状态,依次检查pdf、download、http等可用地址字段。 - 跨域请求:使用
GM_xmlhttpRequest请求学习通相关接口,避免普通网页请求受到同源策略限制。 - 浏览器下载:使用
GM_download将用户勾选的文件交由浏览器下载管理器保存。 - 防重复注入:通过
@noframes和顶层窗口检测,仅在当前标签页最外层页面创建一个悬浮面板;这解决了课件播放器内嵌多层 iframe 时出现多个按钮的问题。
🧩 界面说明
| 区域 | 用途 |
|---|---|
| 左侧书签 | “课件解析”以两行、每行两个字显示;用于展开或收起面板。 |
| 拖拽交互 | 按住书签可上下移动;展开面板会随书签一起移动。 |
| 一键解析按钮 | 扫描当前章节的附件并刷新列表。 |
| 解析结果 | 每行显示复选框、文件类型标签和文件名;文件名过长时会省略显示,悬停可查看完整名称。 |
| 状态提示 | 显示读取附件、解析、下载进度及异常信息。 |
| 下载选中按钮 | 仅下载已勾选的资源,并显示已选文件数量。 |
🚀 安装与更新
安装
- 在浏览器安装油猴、脚本猫或 Violentmonkey。
- 新建用户脚本,或直接导入
chaoxing-courseware-helper.user.js。 - 保存脚本并确保脚本处于启用状态。
- 登录学习通后刷新课程章节页面。
更新
用新版本脚本完整覆盖旧脚本并保存,然后刷新学习通页面即可。
如果页面仍出现多个“课件解析”书签,请检查脚本管理器中是否同时启用了旧版本或重复安装的脚本。
🔐 权限与隐私
脚本申请的权限仅用于实现必要功能:
| 权限 | 用途 |
|---|---|
GM_xmlhttpRequest |
读取当前帐号可访问的章节与资源状态信息。 |
GM_download |
将用户主动勾选的文件下载到默认目录。 |
GM_openInTab / GM_setClipboard |
预留给资源链接打开或复制功能。 |
@connect * |
学习通文件可能由不同的资源域名或 CDN 提供,需要允许请求实际资源地址。 |
本脚本:
- 不收集、不上传账号密码;
- 不主动保存 Cookie、个人信息或课程数据;
- 不绕过平台登录、课程权限或访问控制;
- 仅对当前登录帐号原本有权访问的资源进行整理和下载。
⚠️ 注意事项
- 请仅用于个人学习、备份自己有权访问的课程资料,并遵守学校、平台与授课教师的相关规定。
- 学习通页面结构、接口字段或资源地址规则发生调整后,解析功能可能需要更新。
- 登录态过期、课程权限不足、网络异常或资源已被教师删除时,脚本无法获取对应文件。
- 部分资源可能是在线预览、加密媒体或平台特殊格式;是否能够下载取决于平台返回的实际资源地址与当前帐号权限。
- 批量下载由浏览器处理,最终保存位置以浏览器下载设置为准。
🛠️ 技术栈
| 类别 | 技术 |
|---|---|
| 脚本语言 | JavaScript(ES2020+) |
| 运行方式 | UserScript / Greasemonkey API |
| 兼容管理器 | Tampermonkey、ScriptCat、Violentmonkey |
| 请求机制 | GM_xmlhttpRequest |
| 下载机制 | GM_download |
| 界面实现 | 原生 DOM、CSS、固定定位悬浮面板 |
| 资源来源 | 当前章节附件信息与学习通资源状态接口 |
📄 许可协议
本用户脚本采用 MIT License。
你可以自由使用、复制、修改和分发本脚本,但应保留原有的版权和许可证声明。本软件按“原样”提供,不提供任何明示或暗示担保。
如果这个脚本对你有帮助,欢迎提出功能建议或提交兼容性反馈。
Statistics
Total Installs
24
Last 24h
+1
User Rating
-
Script Details
Applicable Sites
LicenseMIT
Permissions & access
Cross-origin access
*
Capabilities
Network requestsDownloadOpen tabClipboard