LibraTool logoLibraTool

免費番茄鍾

用番茄工作法保持專注。自定義工作和休息時長、追蹤完成的會話數,並在每個階段結束時聽到音訊提示。

載入後可離線使用
25:00專注

快捷鍵:空格鍵開始/暫停 · R 重設 · S 跳過

快速預設(專注/休息)
0
今日番茄鍾
0 / 4
輪次
0
專注分鐘數

工作原理

此番茄鍾完全在瀏覽器中執行,零外部庫。倒數計時使用 Date.now() 錨定到實際時鐘時間戳,因此後台標籤頁的節流不會拖慢計時器;所有提示音都透過 Web Audio API 按需合成——不下載任何音訊檔案。

  1. 1
    基於實際時鐘的倒數計時引擎
    按下“開始”時,計時器會記錄一個絕對的結束時間戳(Date.now() 加上剩餘秒數)。setInterval 每 500 ms 用該固定終點減去當前時間,重新計算剩餘秒數。如果瀏覽器對標籤頁進行節流,下一次觸發時計算會自動校正。
  2. 2
    標籤頁聚焦時重新同步
    當你切回標籤頁時,visibilitychange 事件監聽器會立即觸發同一同步函式。這意味著顯示會立即跳到正確的剩餘時間,而不是等待下一個 500 ms 的觸發——在標籤頁長時間處於後台時這一點很重要。
  3. 3
    Web Audio API 聲音合成
    三種提示音(經典、鐘聲、數字)完全由瀏覽器內建的 AudioContext 產生——OscillatorNode 設定頻率和波形型別(正弦波或方波),GainNode 應用指數音量斜坡來塑造包絡。不取得或解碼任何音訊檔案。
  4. 4
    設定與每日計數的持久化
    你自定義的時長和今天完成的番茄鍾數量會分別寫入 localStorage 的兩個鍵中。頁面載入時,工具會讀回這些值,按允許的範圍校驗每個值,並恢復計時器——因此你的設定在頁面重新整理後仍會保留,無需任何伺服器往返。

相關工具

常見問題