前端前線 2026 年 8 月 19 日

2026-08-19 — WHATWG 撤回 sandboxed iframe 彈窗跨來源限制,Firefox 154 為 WebSocket 加上區網存取保護

primary=https://github.com/whatwg/html/commit/40814ebfef1506a621a4af1ebd7e80c048cc396e primary=https://www.firefox.com/en-US/firefox/154.0/releasenotes/

WHATWG 撤回 sandboxed iframe 彈窗跨來源限制,回復到「從未真正上線」的舊行為

GitHub (whatwg/html) · 2026-08-18

背景

HTML 規格先前透過 5f626a17c8fb86 兩個 commit,為 sandboxed <iframe> 內的 alert()confirm()prompt() 加上了額外限制:即使 sandbox 屬性同時具備 allow-modalsallow-same-origin,規格文字仍要求載入的 URL 必須與頂層來源(top-level origin)同源才能顯示這些「簡單對話框」。這項限制從未被任何瀏覽器實作上線,原因是相容性問題——大量現存網站的 sandboxed cross-origin iframe 仍預期能跳出 alert()

核心改動

commit 40814ebfef15(作者 Noam Rosenthal)在規格 source 檔案中刪除了兩處共 15 行文字,直接還原先前兩個 commit 的效果。第一處刪掉了 iframe sandbox 屬性說明段落中,關於「需要同源才能顯示簡單對話框」的提示文字;第二處則是刪掉「sandboxed modals flag」演算法裡的同源檢查步驟。

@@ -129919,11 +129909,6 @@ ...sandboxed modals flag...
-   <li><p>If window's relevant settings object's origin and
-   window's relevant settings object's top-level origin are not
-   same origin-domain, then return true.</p></li>
-
    <li>If window's relevant agent's event loop's termination
    nesting level is nonzero, then optionally return true.</li>

改動後,只要 sandbox 屬性中有 allow-modals,sandboxed iframe 即可顯示簡單對話框,不再要求額外具備 allow-same-origin 或與頂層頁面同源。

影響範圍

這次修訂讓規格文字與現行瀏覽器的實際行為一致,開發者在替第三方 cross-origin 內容設定 sandbox 屬性時,不需要為了讓對話框能運作而額外加上 allow-same-origin(這往往意味著放寬其他安全邊界)。對仍在依賴規格文字撰寫測試或 polyfill 的工具鏈而言,這也代表 WPT 測試案例需要同步更新以反映移除後的行為。

值得留意的是,這是規格追認既有實作行為的典型案例:規格與實作出現落差時,WHATWG 傾向修改規格文字去貼近瀏覽器實際做法,而非要求瀏覽器補實作規格。對於仰賴 sandboxed iframe 隔離第三方內容(例如廣告、嵌入式小工具)的網站,這代表可以放心維持現有只設定 allow-modals 的寫法,不必擔心未來瀏覽器會突然開始檢查同源限制。

原始來源:WHATWG html commit 40814eb


Firefox 154.0 發布:WebSocket 納入區域網路存取保護,新增 CSS text-box 與 sibling 函式

firefox.com release notes · 2026-08-18

核心改動

區域網路存取保護(Local Network Access)的涵蓋範圍在 Firefox 154.0 中擴大到 WebSocket 連線:網站若嘗試對區域網路裝置開啟 WebSocket,瀏覽器會先跳出權限請求,行為比照先前已套用在一般 fetch 請求上的規則。此外,網站的 cookie/資料清除設定現在可以獨立於追蹤保護規則之外單獨設定「關閉瀏覽器時保留」白名單,不必為了保留資料而連帶放寬防追蹤限制。Hard reload(Shift+重新整理)現在也會一併清除並更新頁面快取的 favicon。

  • CSS 新屬性:text-box-trimtext-box-edge,以及簡寫 text-box
  • CSS 新函式:sibling-index()sibling-count()
  • <input type="time"><input type="datetime-local"> 新增原生時間選擇器 UI
  • 磁碟快取支援 No-Vary-Search HTTP 標頭
  • Iterator 新增輔助方法:chunks()windows()includes()join()

影響範圍

對前端開發者而言,最直接的影響是本機開發流程:若網頁應用會對 localhost 或內網裝置(例如硬體除錯介面、內網 API)建立 WebSocket 連線,使用者會在 Firefox 154 上看到新增的權限提示,需要調整流程說明或改用使用者手勢觸發連線。CSS 的 sibling-index()sibling-count() 讓斑馬紋列表、動態間距等過去需要 JS 或 :nth-child 硬編數字才能做到的效果,可直接用 CSS 函式表達;text-box-trim 則解決了排版中標題文字周圍留白不一致的老問題。

原始來源:Firefox 154.0 Release NotesLWN.net 報導


End of article
0
Would love your thoughts, please comment.x
()
x