BetterCSU-Portal:讓正修訊息網變得更好用
擴充功能已上架!點這邊前往下載
學校訊息網的個人課表有時候是「一天一天往下列」的清單,
如果想知道禮拜三早上有沒有課,得自己在腦袋裡拼成一張表。
看了三年後我終於受不了了,就寫了這個擴充功能。
這是什麼
BetterCSU-Portal 是一個 Chrome / Edge 擴充功能,
只作用在你已經登入的 正修訊息網,
它不是另一個課表網站,沒有後端、沒有帳號系統、也沒有工具列的彈出視窗。
簡單講就是:你照常登入學校網站,只是頁面長得比較好看了!
三個功能
1. 週課表
最主要的功能,把逐日清單轉成星期 × 節次的週視圖。

- 「本學期」跟「下學期」兩個分頁都吃得到
- 可以切上一週/下一週,或用上面的日期區間下拉選單直接跳
- 「本週」會依台灣日期定位(不在學期範圍內時按鈕會停用)
- 每門課有自己的顏色,卡片上直接寫起迄時間跟教室
- 「放大視窗」可以讓課表脫離側欄,按 Esc 就收回去
- 點課程可以看課號、課名、時間、教室
- 想看學校原本的樣子,按「顯示原始表格」就好
對了,學校在課表頁給的課名有時候是縮寫,
所以它會用你已登入的狀態,去同一個網站的修課成績頁把完整課名撈回來對照,
只取學期、課號、課名三個欄位,不會儲存也不會外傳。
2. 課表篩選
週六沒課還要一直看到那一欄實在有點煩,所以加了篩選。
入口在課表右上角的「篩選」,只要有條件生效,按鈕就會變成「篩選(已套用)」,
不會發生自己藏了什麼卻忘記的狀況。

裡面就三組東西:
- 顯示星期:星期一到星期日各一個勾,取消勾選就把那一欄收起來
- 隱藏無課日:這週整天沒課的星期自動收掉
- 隱藏空白節次:已顯示的星期裡都沒課的那幾節自動收掉
上面第一張週課表的圖就是這樣調出來的 —— 週六日取消勾選、兩個自動隱藏都打開,
所以畫面上只剩週一到週五,而且第 1、5 節直接消失。
不小心全部藏起來的話,按「全部顯示」就會回來ㄌ,調好按「完成」關掉就行。
設定只套用在目前這個頁面,換週跟放大視窗時會保留,但重新整理會重設。
3. 功能釘選與歷年學分篩選
訊息網左邊的選單超長,常用的那幾個永遠要找。
所以在「熱門服務」上面加了一塊釘選區,
按學期別旁邊的「設定釘選功能」,把常用的勾一勾按儲存就好。
對話框裡是照訊息網原本的分類排的(熱門服務、教務資訊、學務資訊……),
勾錯了有「重置」跟「取消」可以反悔,右下角的「關於與回饋」就是丟 issue 給我的地方。

另外歷年學分頁也加了篩選列,
可以依學期、課別、課名或課碼組合著篩,按右邊的「清除篩選」就整組還原。
篩完下面會即時寫出「顯示 5 / 82 筆課程紀錄;表列學分加總 15」這種統計,不用自己拿計算機加。

這邊要特別講一下:上面學校算的實得學分跟平均成績我完全沒有動,
篩選只影響下面的表列,不會改到學校的數值!
怎麼安裝
按「加到 Chrome」裝完之後,用同一個瀏覽器登入訊息網、開個人課表,
如果頁面本來就開著,記得重新整理一次才會生效。
Edge 也是開上面那個連結,第一次會跳出「允許來自其他市集的擴充功能」,按下去就能裝。
之後有更新商店會自己推,不用再管他了。
想跑最新的原始碼
商店版會比 repo 慢一點(要等審核),想搶先測試最新版可以用開發人員模式:
- 到 GitHub repo clone 下來,或下載 Release 的 ZIP 解壓縮
- 開
chrome://extensions(Edge 是edge://extensions) - 打開右上角的「開發人員模式」
- 按「載入未封裝項目」,選那個含有
manifest.json的資料夾或是 Release 的 ZIP 解壓縮 - 用同一個瀏覽器登入訊息網,開個人課表;如果頁面已經開著,記得重新整理一次
要更新的話,在擴充功能頁按「重新載入」再重整訊息網就好。
關於隱私
因為這東西會碰到課表跟成績頁,所以講清楚一點:
- 它只要
storage權限,而且只用來存你勾選的釘選項目 ID,存在這台電腦,不同步到雲端 - 沒有帳號、沒有課表、沒有成績被存下來,解除安裝就清掉ㄌ
- 補課名時只讀同一個網站的成績頁一次,只取三個欄位,不保存也不外傳
- 不讀 Cookie 值,沒有任何對外部網域的請求,沒有分析追蹤
課表跟學分篩選全部都在你當下那個分頁的記憶體裡處理。
完整的隱私權政策放在 repo 的 PRIVACY.md。
最後
程式碼是開源的(非商業授權),
有興趣或想看看 Manifest V3 擴充功能怎麼寫的可以去 repo 逛逛,
有 bug 或想要什麼功能歡迎開 issue 戳我~