Firefox 59 开发者版本

本文提供了有关 Firefox 59 中将影响开发人员的更改的信息。Firefox 59 于 2018 年 3 月 13 日发布。

Web 开发人员的更改

开发者工具

  • 网络监视器响应选项卡现在显示渲染的 HTML 预览 - 如果响应是 HTML(Firefox 错误 1353319)。
  • 存储检查器中显示的 Cookie 信息(请参阅Cookie)现在包含一个 sameSite 列,显示每个 Cookie 的同站点状态(Firefox 错误 1298370)。
  • 标尺工具现在包含一个读数,显示视口的当前尺寸(Firefox 错误 1402633)。
  • 在响应式设计模式中,您现在可以使用光标键设置屏幕尺寸(Firefox 错误 1421663)。有关更多详细信息,请参阅设置屏幕尺寸部分。
  • 网络监视器标头选项卡中的“原始标头”显示现在包含响应的状态代码(Firefox 错误 1419401)。

HTML

  • <textarea> 元素的 autocomplete 属性已实现。这使您可以为元素启用或禁用表单自动填充。

CSS

SVG

无更改。

JavaScript

无更改。

API

新的 API

DOM

DOM 事件

服务工作线程

  • 服务工作线程客户端 API 现在可以查找并与单独浏览器进程中的窗口通信(Firefox 错误 1293277)。
  • 嵌套的 about:blank 和 about:srcdoc iframe 现在将继承其父级的控制服务工作线程。已在(Firefox 错误 1293277)和(Firefox 错误 1426979)中修复。
  • 当服务工作线程向 FetchEvent.respondWith() 提供 Response 时,Response.url 值现在将作为最终解析的 URL 传播到拦截的网络请求。过去,FetchEvent.request.url 用于此目的。这意味着,例如,如果服务工作线程拦截样式表或工作线程脚本,则将使用提供的 Response.url 来解析任何相对的 @importimportScripts() 子资源加载(Firefox 错误 1222008)。
  • 如果 FetchEvent.request.mode"same-origin" 且提供的 Response.type"cors",则 FetchEvent.respondWith() 现在将触发网络错误。(Firefox 错误 1222008)

媒体和 WebRTC

  • MediaStreamTrack 属性 MediaStreamTrack.muted 以及事件 muteunmute 以及相应的事件处理程序 onmuteonunmute 已实现。音轨的 muted 状态表示音轨当前无法提供媒体数据。

    注意:音轨的 muted 状态对于通常认为的静音和取消静音音轨没有用。相反,请使用 enabled 属性;将 enabled 设置为 false 将导致音轨仅输出空帧。

  • Android 上的 Firefox 59 现在支持 Apple 的 HTTPS 实时流 (HLS) 协议,用于音频和视频。此非标准协议在移动设备上得到支持,以提高与需要它进行移动流传输的网站的兼容性。目前没有计划在 Firefox 桌面版上实现它。
  • RTCRtpReceiver 方法 getContributingSources()getSynchronizationSources() 已实现,以提供有关每个 RTP 流源的信息。但是,在发布之前发生了规范更改,我们已在首选项 media.peerconnection.rtpsourcesapi.enable 后面默认禁用了这些方法(Firefox 错误 1363667Firefox 错误 1430213Firefox 错误 1433236)。
  • RTCRtpTransceiver 接口现已实现,因为 WebRTC 的 Firefox 实现现在支持转发器,RTCPeerConnection 和其他接口已更新为根据最新规范使用它们。
  • RTCPeerConnection.addTransceiver() 方法已添加。此外,addTrack() 的行为已更新为根据需要创建转发器。
  • 对 WebVTT 区域的支持已在 Firefox 58 中实现,但默认情况下处于禁用状态。它们现在默认可用(Firefox 错误 1415805)。
  • Firefox 现在支持 WebVTT REGION 定义块,其设置列表每行一个设置,而不是所有设置都在 WebVTT 文件的同一行上(Firefox 错误 1415821)。

Canvas 和 WebGL

无更改。

CSSOM

已实现 CSSNamespaceRule 接口及其 namespaceURLprefix 属性(Firefox 错误 1326514)。

HTTP

无更改。

安全

  • 已阻止对 data: URL 的顶级导航(Firefox 错误 1401895)。有关更多详细信息,请参阅 阻止 Firefox 59 对 data URL 的顶级导航
  • X-Frame-Options 标头的 SAMEORIGIN 指令已更改,以便它不仅检查顶级 IFrame 是否与同一来源相同,还检查其所有祖先(Firefox 错误 725490)。
  • 从与当前文档不同的来源加载的图像资源将不再能够触发 HTTP 身份验证对话框(Firefox 错误 1423146)。
  • HTTP 身份验证现在使用 utf-8 编码用户名和密码(而不是 ISO-8859-1),以与其他浏览器保持一致,并避免 Firefox 错误 1419658 中描述的潜在问题。
  • 每天都会从 Google 更新 HSTS 预加载列表。通常情况下,这不需要特别说明,但在本版本中包含了新的顶级域名,特别是 .app.dev。虽然它们是新的顶级域名,但开发人员可能已将其用于本地开发,并且可能会对此更改感到惊讶。请注意,应将 保留的顶级域名 用于本地开发。

插件

无更改。

其他

无更改。

从 Web 平台中移除的内容

HTML

<script> 元素的 type 属性的非标准 version 参数(例如 type="application/javascript;version=1.8")已被删除(Firefox 错误 1428745)。

CSS

  • 专有的 mozmm <length> 单位已被删除(Firefox 错误 1416564)。
  • 专有的 -moz-border-top-colors-moz-border-right-colors-moz-border-bottom-colors-moz-border-left-colors 属性已被限制仅在 Chrome 代码中使用(Firefox 错误 1417200)。

JavaScript

API

SVG

已删除对 SMIL 的 accessKey 功能的支持(Firefox 错误 1423098)。

其他

已从 Firefox 中删除对非标准 pcast:feed: 协议的支持(Firefox 错误 1420622)。

附加组件和 Mozilla 开发人员的更改

WebExtensions

旧版本