适用于开发者的 Firefox 62 发行说明
本文档提供了 Firefox 62 中会影响开发者的相关变更信息。Firefox 62 于 2018 年 9 月 5 日发布。
Web 开发人员的变更
开发者工具
-
图形路径编辑器(Shape Path Editor)现在默认可用 — 详见在 CSS 中编辑图形路径。
-
你现在可以将“规则”视图拆分到单独的窗格中,使其与 CSS 窗格中的其他选项卡分开。详见页面检查器三窗格模式。
-
网格检查器(Grid inspector)已更新功能,并提供了全新的文档 — 详见CSS 网格检查器:检查网格布局。
-
现在你有四种开发者工具的位置选择。除了默认的窗口底部位置,你还可以选择将工具放置在主窗口的左侧或右侧,或者在一个单独的窗口中(Firefox bug 1192642)。
-
已为分屏控制台工具栏添加了关闭按钮。
-
如果“选择 iframe 作为当前目标文档”选项已选中,即使当前页面不包含任何 iframe,该图标也会在显示“设置”选项卡时出现在工具栏中(Firefox bug 1456069)。
-
网络监视器的Cookies 选项卡现在显示 cookie 的
samesite属性(Firefox bug 1452715)。 -
响应式设计模式现在可在容器标签页内工作(Firefox bug 1306975)。
-
当发生 CORS 错误并在控制台中报告时,Firefox 现在提供了一个链接,指向我们CORS 错误文档中相应的页面(Firefox bug 1475391)。
-
使用以下命令从“控制台”选项卡创建当前页面的屏幕截图(带可选文件名)(Firefox bug 1464461):
bash:screenshot <filename.png> --fullpage其中
<filename.png>是所需的文件名。文件将保存到你的下载文件夹。--fullpage参数是可选的,但如果包含,它将保存完整的网页。此选项还会将-fullpage添加到文件名中。有关此命令所有可用选项的列表,请输入::screenshot --help
移除
- 开发者工具栏/GCLI(通过
Shift+F2访问)已从 Firefox 中移除(Firefox bug 1461970)。开发者工具栏 UI 和 GCLI 上游库都已不再维护,其部分功能已损坏(自 e10s 以来就一直如此),它阻碍了unsafeSetInnerHTML的工作,使用量非常低,对于最常用的命令也存在替代方案。
HTML
无更改。
CSS
:-moz-selection已取消前缀,改为::selection(Firefox bug 509958)。<resolution>类型现在支持x作为单位(Firefox bug 1460655)。shape-margin、shape-outside和shape-image-threshold现在默认启用(Firefox bug 1457297)。
移除
- 除
-moz-box和-moz-inline-box外,所有 XULdisplay值都已在 Firefox bug 1288572 中从非 XUL 文档中移除。
SVG
无更改。
JavaScript
- 现在支持
WebAssembly.Global()构造函数以及 WebAssembly 中的全局变量(Firefox bug 1464656)。 Array.prototype.flat()和Array.prototype.flatMap()方法现在默认启用(Firefox bug 1435813)。- 已实现
import.meta属性,以向 JavaScript 模块公开上下文特定的元数据(Firefox bug 1427610)。 - JavaScript 字符串字面量现在可以直接包含 U+2028 换行符(LINE SEPARATOR)和 U+2029 段落分隔符(PARAGRAPH SEPARATOR)字符。因此,
JSON语法现在是 JavaScript 字面量语法的子集(详见 Firefox bug 1435828 和 TC39 提案 json-superset)。 - 对于超出范围的类型化数组索引,
Reflect.defineProperty()和Reflect.set()现在将返回false而不是true(Firefox bug 1308735)。
移除
DOMPoint和DOMPointReadOnly构造函数不再支持DOMPointInit类型的输入参数;属性的值必须使用x、y、z和w参数指定(Firefox bug 1186265)。URL.createObjectURL()方法不再支持创建对象 URL 来表示MediaStream。此功能已过时一段时间,因为现在你可以直接将HTMLMediaElement.srcObject设置为MediaStream(Firefox bug 1454889)。
API
新 API
- 语音合成 API(文本转语音)现在在 Firefox for Android 上默认启用(Firefox bug 1463496)。
DOM
DOMPointReadOnly接口现在支持静态函数DOMPointReadOnly.fromPoint(),它从与DOMPointInit兼容的字典(包括任何DOMPoint对象)创建新的点对象。此函数也适用于DOMPoint(Firefox bug 1186265)。- 出于兼容性目的,现在支持
Event.srcElement属性。它是Event.target的别名(Firefox bug 453968)。 Navigator.registerProtocolHandler()现在必须仅从安全上下文调用(Firefox bug 1460506)。Navigator.registerContentHandler()方法已默认禁用,为完全移除做准备,因为它已过时一段时间(Firefox bug 1460481)。- 已实现
DataTransfer()构造函数(Firefox bug 1351193)。 Document.domain不再能返回null(Firefox bug 819475)。如果无法识别域,则domain返回空字符串而不是null。- 添加了
console.timeLog()方法,用于在继续跟踪时间的同时显示控制台计时器的当前值(Firefox bug 1458466)。 - 添加了
console.countReset()以重置控制台计数器值(Firefox bug 1459279)。
DOM 事件
无更改。
Service Workers
无更改。
媒体、Web Audio 和 WebRTC
"media.autoplay.enabled"首选项现在控制音频和视频媒体的自动播放,而不仅仅是视频媒体(Firefox bug 1413098)。ChannelSplitterNode已修复,根据规范,它现在正确地默认为 6 个通道,channelInterpretation设置为"discrete",channelCountMode设置为"explicit"(Firefox bug 1456265)。
移除
userproximity和deviceproximity事件,以及UserProximityEvent和DeviceProximityEvent接口,已通过device.sensors.proximity.enabled首选项默认禁用(Firefox bug 1462308)。- 类型为
DeviceLightEvent的devicelight事件已通过device.sensors.ambientLight.enabled首选项默认禁用(Firefox bug 1462308)。 - 通过 CSSOM 更改
style属性时,不再抛出DOMSubtreeModified和DOMAttrModified变动事件(Firefox bug 1460295)。 - 已移除对
CSSStyleDeclaration.getPropertyCSSValue()的支持(Firefox bug 1408301)。 - 已移除对
CSSValue、CSSPrimitiveValue和CSSValueList的支持(Firefox bug 1459871)。 - 在没有呈现的
Window上调用window.getComputedStyle()时,不再返回null(Firefox bug 1467722)。
HTTP
移除
- 已移除已弃用的 CSP
referrer指令。请改用Referrer-Policy标头(Firefox bug 1302449)。
安全
无更改。
插件
无更改。
WebDriver 符合性 (Marionette)
新功能
- Command
WebDriver:ElementSendKeys已符合 WebDriver 标准,用于文件上传(Firefox bug 1448792)。 - 对于
WebDriver:Get、WebDriver:Back、WebDriver:Forward、WebDriver:Refresh和WebDriver:Close命令,由beforeunload事件引发的用户提示会自动关闭(Firefox bug 1434872)。 WebDriver:PerformActions对于Ctrl+Click组合键会合成一个contextmenu事件(Firefox bug 1421323)。
API 更改
- 已移除过时的端点,包括
getWindowPosition、setWindowPosition、getWindowSize和setWindowSize(Firefox bug 1348145)。 - 返回成功但数据为
null的 WebDriver 命令现在返回一个空字典(Firefox bug 1461463)。
错误修复
WebDriver:ExecuteScript导致 WebElement 集合的循环引用错误(Firefox bug 1447977)。- 分派
pointerMove或pause动作原语可能会导致挂起,并且命令永远不会发送回复(Firefox bug 1467743,Firefox bug 1447449)。
其他
无更改。
附加组件开发人员的变更
API 更改
- 添加了
webRequest.getSecurityInfo()API 以检查 TLS 连接的详细信息(Firefox bug 1322748)。 - 添加了
browserSettings.newTabPosition以自定义新标签页的打开位置(Firefox bug 1344749)。 windowTypes已在windows.get()、windows.getCurrent()和windows.getLastFocused()中弃用(Firefox bug 1419132)。- 现在可以按每个窗口修改浏览器动作(Firefox bug 1419893)。
清单更改
sidebar_action清单键的新open_at_install属性允许扩展控制其侧边栏是否应在安装时自动打开(Firefox bug 1460910)。- 各种清单键的
browser_style属性的更改- 在
page_action和browser_action中,它默认为false。 - 在
sidebar_action和options_ui中,它默认为true。
- 在
主题更改
theme清单键的新tab_background_separator属性允许扩展更改标签分隔符的颜色(Firefox bug 1459455)。
移除
- 已移除对未打包的旁加载扩展的支持(Firefox bug 1385057)。
- 临时加载扩展进行测试时显示的有关
browser_style的警告不再显示(Firefox bug 1404724)。