2026 年單頁應用(SPA)與多頁應用(MPA)邊界模糊:View Transitions API 實作
// 可選:等待轉場結束後做其他事
::view-
@keyfr
@keyfr
);
window);
from 're
document);
4.3 常見錯誤與除錯技巧
以下是筆者自己在專案中反覆遇到的坑,整理成清單:
::view-transition 可快速定位。pagereveal 控制顯示時機。除錯時,Chrome DevTools 的 Animations 面板可以慢速播放轉場,這對調整 timing 非常有幫助。另外 document.startViewTransition 回傳的物件有 .ready、.updateCallbackDone、.finished 三個 Promise,善用它們可以把「等待畫面就緒」與「等待動畫結束」分開處理。
五、2026 年的實務選型建議
談完技術,回到最多人想知道的問題:那我到底該怎麼選?
5.1 什麼時候該選 SPA、MPA 或混合架構
5.2 團隊導入路線圖
如果你的團隊想導入,建議這樣走:
prefers-reduced-motion。pagereveal 狀態還原,讓跨頁體驗接近 SPA。整個過程不需要「砍掉重練」,這也是 View Transitions API 最迷人的地方:它是漸進增強的,可以一頁一頁搬,風險極低。
結語:轉場不是目的,體驗才是
回過頭看,「SPA 與 MPA 邊界模糊」這件事,本質上不是誰消滅誰,而是瀏覽器把過去框架壟斷的能力還給了平台。當轉場變成 CSS 與一行 API 就能搞定的事,選型的判斷標準就會回歸到更樸素的問題:這個頁面的內容怎麼產出最有效率?互動複雜度多高?SEO 需求如何?
View Transitions API 在 2026 年已經足夠成熟,跨瀏覽器支援也大幅改善。它不會讓你自動寫出好網站,但它確實拆掉了一道長年擋在 SPA 與 MPA 之間的高牆。與其繼續糾結要選哪一邊,不如把時間花在設計一套好的轉場語彙——什麼時候該滑、什麼時候該淡、什麼元素該留、什麼該走。這些才是使用者真正感受到的東西。
如果你正在規劃下一版專案,建議先從一個最小可行的跨文件轉場開始試水溫。你會發現,那個「MPA 也能很滑順」的未來,其實已經到了。
—— 本文同步刊載於「雅寶社區 · 頂客論壇」📈 最新趨勢分類,歡迎在討論區留言分享你的實作經驗。
```