Firefox 59 面向開發者的發行說明
本文件提供了 Firefox 59 中將影響開發者的變更資訊。Firefox 59 於 2018 年 3 月 13 日釋出。
Web 開發人員的變更
開發者工具
- 如果響應是 HTML,網路監視器的“響應”選項卡現在會顯示渲染 HTML 的預覽(Firefox bug 1353319)。
- 儲存檢查器中顯示的 Cookie 資訊(參見Cookies)現在包含一個同源列,顯示每個 Cookie 的同源狀態(Firefox bug 1298370)。
- 標尺工具現在包含一個讀數,顯示視口的當前尺寸(Firefox bug 1402633)。
- 在響應式設計模式中,您現在可以使用游標鍵設定螢幕尺寸(Firefox bug 1421663)。有關更多詳細資訊,請參見設定螢幕尺寸部分。
- 網路監視器“頭部”選項卡中的原始頭部顯示現在包含響應的狀態碼(Firefox bug 1419401)。
HTML
<textarea>元素的autocomplete屬性已實現。這允許您為此元素啟用或停用表單自動填充。
CSS
overscroll-behavior屬性及其相關的長屬性 —overscroll-behavior-x和overscroll-behavior-y— 已實現(Firefox bug 951793),並且已在所有版本中預設啟用(Firefox bug 1428879)。- “特殊元素”(不純粹由 CSS 盒概念渲染的元素,例如替換元素)在給定
display值為contents時的行為已根據規範進行了更新(Firefox bug 1427292)。有關指定行為的詳細資訊,請參見附錄 B:display: contents 對特殊元素的影響。 positionsticky現在支援適當的HTML 表格部分(例如,<th>元素)(Firefox bug 975644)。calc()現在支援<color>值 —rgb()、rgba()、hsl()和hsla()(Firefox bug 984021)。calc()在媒體查詢值中現在受支援Firefox bug 1396057。@documentat-rule 已限制為僅在使用者和 UA 樣式表中使用(Firefox bug 1035091)。- 實現
font-optical-sizing屬性(Firefox bug 1435692)。
SVG
無更改。
JavaScript
無更改。
API
新 API
PointerEvents已在 Firefox 桌面版中啟用(Firefox bug 1411467)。
DOM
EventTarget()建構函式已實現(Firefox bug 1379688)。Response()建構函式現在可以為其body引數接受null值,符合規範(Firefox bug 1303025)。
DOM 事件
Service Workers
- 服務工作執行緒Clients API現在可以查詢並與單獨瀏覽器程序中的視窗進行通訊(Firefox bug 1293277)。
- 巢狀的 about:blank 和 about:srcdoc iframe 現在將繼承其父級的控制服務工作執行緒。已在(Firefox bug 1293277)和(Firefox bug 1426979)中修復。
- 當服務工作執行緒向
FetchEvent.respondWith()提供Response時,Response.url值現在將作為最終解析的 URL 傳播到攔截的網路請求。過去,FetchEvent.request.url被用於此目的。這意味著,例如,如果服務工作執行緒攔截樣式表或工作執行緒指令碼,則提供的Response.url將用於解析任何相對的@import或importScripts()子資源載入(Firefox bug 1222008)。 - 如果
FetchEvent.request.mode是"same-origin"且提供的Response.type是"cors",則FetchEvent.respondWith()現在將觸發網路錯誤。(Firefox bug 1222008)
媒體和 WebRTC
-
MediaStreamTrack屬性MediaStreamTrack.muted,以及事件mute和unmute以及相應的事件處理程式onmute和onunmute,已實現。軌道的muted狀態表示該軌道目前無法提供媒體資料。注意:軌道的
muted狀態對於通常認為的靜音和取消靜音軌道沒有用。相反,請使用enabled屬性;將enabled設定為false會導致軌道僅輸出空幀。 -
Firefox 59 在 Android 上現在支援 Apple 的 HTTPS Live Streaming (HLS) 協議,包括音訊和影片。這種非標準協議在移動裝置上得到支援,以提高與需要它進行移動流媒體的站點的相容性。目前沒有在 Firefox 桌面版上實現它的計劃。
-
RTCRtpReceiver方法getContributingSources()和getSynchronizationSources()已實現,以提供有關每個 RTP 流源的資訊。然而,在釋出之前發生了一個規範變更,我們已預設透過首選項media.peerconnection.rtpsourcesapi.enable停用這些功能(Firefox bug 1363667、Firefox bug 1430213和Firefox bug 1433236)。 -
RTCRtpTransceiver介面現已實現,因為 Firefox 的 WebRTC 實現現在支援收發器,並且RTCPeerConnection和其他介面已更新,以根據最新規範使用它們。 -
RTCPeerConnection.addTransceiver()方法已新增。此外,addTrack()的行為已更新,以根據需要建立收發器。 -
對WebVTT區域的支援已在 Firefox 58 中實現,但預設停用。它們現在預設可用(Firefox bug 1415805)。
-
Firefox 現在支援 WebVTT
REGION定義塊,其設定列表每行一個設定,而不是所有設定都在 WebVTT 檔案的同一行上(Firefox bug 1415821)。
Canvas 和 WebGL
無更改。
CSSOM
CSSNamespaceRule介面及其namespaceURL和prefix屬性已實現(Firefox bug 1326514)。
HTTP
無更改。
安全
- 到
data:URL 的頂級導航已被阻止Firefox bug 1401895。有關更多詳細資訊,請參見阻止 Firefox 59 中到資料 URL 的頂級導航。 X-Frame-Options頭部中的SAMEORIGIN指令已更改,現在不僅檢查頂級 IFrame 是否同源,還檢查其所有祖先(Firefox bug 725490)。- 從與當前文件不同源載入的影像資源不再能夠觸發 HTTP 身份驗證對話方塊(Firefox bug 1423146)。
- HTTP 身份驗證現在使用
utf-8編碼(而不是ISO-8859-1)來處理使用者名稱和密碼,以與其他瀏覽器保持一致,並避免Firefox bug 1419658中描述的潛在問題。 - 每天,HSTS 預載入列表都會從 Google 更新。通常這不需要注意,但在此版本中包含了新的 TLD,特別是
.app和.dev。雖然它們是新的 TLD,但開發者可能已經將它們用於本地開發,並對此更改感到驚訝。請注意,應使用保留的 TLD進行本地開發。
外掛
無更改。
其他
無更改。
Web 平臺移除的內容
HTML
<script>元素的type屬性的非標準version引數(例如,type="application/javascript;version=1.8")已刪除(Firefox bug 1428745)。
CSS
- 專有的
mozmm<length>單位已刪除(Firefox bug 1416564)。 - 專有的
-moz-border-top-colors、-moz-border-right-colors、-moz-border-bottom-colors和-moz-border-left-colors屬性已限制為僅在 chrome 程式碼中使用(Firefox bug 1417200)。
JavaScript
- 非標準條件 catch 子句已刪除(Firefox bug 1228841)。
API
- 非標準方法
Event.getPreventDefault()已刪除。您應該改用Event.defaultPrevented屬性來確定是否在Event上呼叫了preventDefault()。 - 專有的
Navigator.mozNotification屬性和DesktopNotification介面已刪除,取而代之的是標準Notifications API(Firefox bug 952453)。 - 專有的
window.external.addSearchEngine()方法已刪除(Firefox bug 862147)。另請參見Window.external瞭解更多詳細資訊。 - 非標準僅限 Firefox 的
HTMLMediaElement屬性mozAutoplayEnabled已刪除。
SVG
對 SMIL 的accessKey功能的支援已刪除(Firefox bug 1423098)。
其他
對非標準pcast:和feed:協議的支援已從 Firefox 中刪除(Firefox bug 1420622)。
面向附加元件和 Mozilla 開發者的變更
WebExtensions
-
主題更新
- 新屬性:
colors.background_tab_text,colors.toolbar_field_border - 所有顏色屬性現在都支援 Chrome 風格的陣列和 CSS 顏色值。
- 新屬性:
-
新的瀏覽器設定
-
新的
tabsAPI -
contextMenusAPI 現在支援“書籤”上下文。 -
新的
contentScriptsAPI 允許執行時註冊內容指令碼。 -
新的
pageAction、browserAction、SidebarActionAPIbrowserAction/pageAction/sidebarAction.set*函式現在接受null來撤消更改。browserAction.isEnabled()、pageAction.isShown()、sidebarAction.isOpen()函式。
-
在
page_action中新增選項,預設顯示頁面操作。 -
protocol_handlers的新值- "ssb" 用於 Secure Scuttlebutt 通訊
- "dat" 用於 DATproject
- "ipfs", "ipns", "dweb" 用於 IPFS
-
新的
privacy.websites設定“cookieConfig”。 -
webRequest中的新選項upgradeToSecure。