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
overscroll-behavior
属性及其关联的详细属性 -overscroll-behavior-x
和overscroll-behavior-y
- 已实现(Firefox 错误 951793),并且已在所有版本中默认启用(Firefox 错误 1428879)。- 根据规范更新了“不寻常元素”(不是通过 CSS 盒子概念纯渲染的元素,例如替换元素)在给定
display
值为contents
时的行为(Firefox 错误 1427292)。有关指定行为的确切内容,请参阅附录 B:display: contents 对不寻常元素的影响。 position
sticky
现在在适当的 HTML 表格部分(例如<th>
元素)中受支持(Firefox 错误 975644)。calc()
现在在<color>
值中受支持 -rgb()
、rgba()
、hsl()
和hsla()
(Firefox 错误 984021)。- 媒体查询值中的
calc()
现在受支持 Firefox 错误 1396057。 @document
规则已被限制为仅在用户和 UA 表格中使用(Firefox 错误 1035091)。- 实现了
font-optical-sizing
属性(Firefox 错误 1435692)。
SVG
无更改。
JavaScript
无更改。
API
新的 API
PointerEvents
已在 Firefox 桌面版中启用(Firefox 错误 1411467)。
DOM
EventTarget()
构造函数已实现(Firefox 错误 1379688)。Response()
构造函数现在可以接受其body
参数的null
值,符合规范(Firefox 错误 1303025)。
DOM 事件
Event.composedPath()
方法已实现(Firefox 错误 1412775)。
服务工作线程
- 服务工作线程客户端 API 现在可以查找并与单独浏览器进程中的窗口通信(Firefox 错误 1293277)。
- 嵌套的 about:blank 和 about:srcdoc iframe 现在将继承其父级的控制服务工作线程。已在(Firefox 错误 1293277)和(Firefox 错误 1426979)中修复。
- 当服务工作线程向
FetchEvent.respondWith()
提供Response
时,Response.url
值现在将作为最终解析的 URL 传播到拦截的网络请求。过去,FetchEvent.request.url
用于此目的。这意味着,例如,如果服务工作线程拦截样式表或工作线程脚本,则将使用提供的Response.url
来解析任何相对的@import
或importScripts()
子资源加载(Firefox 错误 1222008)。 - 如果
FetchEvent.request.mode
为"same-origin"
且提供的Response.type
为"cors"
,则FetchEvent.respondWith()
现在将触发网络错误。(Firefox 错误 1222008)
媒体和 WebRTC
MediaStreamTrack
属性MediaStreamTrack.muted
以及事件mute
和unmute
以及相应的事件处理程序onmute
和onunmute
已实现。音轨的muted
状态表示音轨当前无法提供媒体数据。注意:音轨的
muted
状态对于通常认为的静音和取消静音音轨没有用。相反,请使用enabled
属性;将enabled
设置为false
将导致音轨仅输出空帧。- Android 上的 Firefox 59 现在支持 Apple 的 HTTPS 实时流 (HLS) 协议,用于音频和视频。此非标准协议在移动设备上得到支持,以提高与需要它进行移动流传输的网站的兼容性。目前没有计划在 Firefox 桌面版上实现它。
RTCRtpReceiver
方法getContributingSources()
和getSynchronizationSources()
已实现,以提供有关每个 RTP 流源的信息。但是,在发布之前发生了规范更改,我们已在首选项media.peerconnection.rtpsourcesapi.enable
后面默认禁用了这些方法(Firefox 错误 1363667、Firefox 错误 1430213 和 Firefox 错误 1433236)。RTCRtpTransceiver
接口现已实现,因为 WebRTC 的 Firefox 实现现在支持转发器,RTCPeerConnection
和其他接口已更新为根据最新规范使用它们。RTCPeerConnection.addTransceiver()
方法已添加。此外,addTrack()
的行为已更新为根据需要创建转发器。- 对 WebVTT 区域的支持已在 Firefox 58 中实现,但默认情况下处于禁用状态。它们现在默认可用(Firefox 错误 1415805)。
- Firefox 现在支持 WebVTT
REGION
定义块,其设置列表每行一个设置,而不是所有设置都在 WebVTT 文件的同一行上(Firefox 错误 1415821)。
Canvas 和 WebGL
无更改。
CSSOM
已实现 CSSNamespaceRule
接口及其 namespaceURL
和 prefix
属性(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
- 已删除非标准的 条件捕获子句(Firefox 错误 1228841)。
API
- 已删除非标准方法
Event.getPreventDefault()
。您应该改为使用Event.defaultPrevented
属性来确定是否在Event
上调用了preventDefault()
。 - 已删除专有的
Navigator.mozNotification
属性和DesktopNotification
接口,取而代之的是标准的 通知 API(Firefox 错误 952453)。 - 已删除专有的
window.external.addSearchEngine()
方法(Firefox 错误 862147)。有关更多详细信息,另请参阅Window.sidebar
。 - 已删除仅限 Firefox 的非标准
HTMLMediaElement
属性mozAutoplayEnabled
。
SVG
已删除对 SMIL 的 accessKey
功能的支持(Firefox 错误 1423098)。
其他
已从 Firefox 中删除对非标准 pcast:
和 feed:
协议的支持(Firefox 错误 1420622)。
附加组件和 Mozilla 开发人员的更改
WebExtensions
- 主题 更新
- 新属性:
colors.background_tab_text
、colors.toolbar_field_border
- 所有颜色属性现在都支持 Chrome 样式数组和 CSS 颜色值。
- 新属性:
- 新的 浏览器设置
- 新的
tabs
API contextMenus
API 现在支持 "书签" 上下文。- 新的
contentScripts
API 支持在运行时注册内容脚本。 - 新的
pageAction
、browserAction
、SidebarAction
APIbrowserAction/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"。 cookies
API 中对 第一方隔离 的支持。webRequest
中的新选项upgradeToSecure
。
旧版本
- Firefox 58 开发者版
- Firefox 57 开发者版
- Firefox 56 开发者版
- Firefox 55 开发者版
- Firefox 54 开发者版
- Firefox 53 开发者版
- Firefox 52 开发者版
- Firefox 51 开发者版
- Firefox 50 开发者版
- Firefox 49 开发者版
- Firefox 48 开发者版
- Firefox 47 开发者版
- Firefox 46 开发者版
- Firefox 45 开发者版
- Firefox 44 开发者版
- Firefox 43 开发者版
- Firefox 42 开发者版
- Firefox 41 开发者版
- Firefox 40 开发者版
- Firefox 39 开发者版
- Firefox 38 开发者版
- Firefox 37 开发者版
- Firefox 36 开发者版
- Firefox 35 开发者版
- Firefox 34 开发者版
- Firefox 33 开发者版
- Firefox 32 开发者版
- Firefox 31 开发者版
- Firefox 30 开发者版
- Firefox 29 开发者版
- Firefox 28 开发者版