今天,我们 发布了 Firefox 4 的第一个 beta 版本,这标志着我们向 Firefox 4 正式版发布迈出了第一步。我们对这个 beta 版本的处理方式与以往不同。在之前的 beta 版本中,我们发布了里程碑式的版本。在这个 beta 版本中,我们将在整个 beta 期间进行更频繁的更新。因此,如果您下载并运行 beta 版本,您可能会每两到三周收到一次更新,而不是隔几个月才收到一次。我们相信,这将使我们能够快速响应用户的反馈,并更早地测试修复和更改。反过来,这也意味着我们将能够发布更高质量的浏览器。
首先,让我们谈谈反馈。这个 beta 版本包括两种向我们提供反馈的方式。
反馈按钮 - 如上图所示,beta 版本中包含一个反馈插件。它在浏览器右侧显示了一个醒目的反馈按钮,让您可以快速轻松地提供您喜欢的或不喜欢的东西的反馈。我们将在整个 beta 过程中审查这些反馈,所以请留下您的评论。该插件还使用 Test Pilot 来了解人们如何使用浏览器 - 菜单,人们如何使用密码 等等。但在这次 beta 过程中,我们还将使用它来衡量诸如平台性能和其他我们需要构建出色浏览器的重要数据。就像 Test Pilot 一样,在没有您的知情的情况下不会收集任何数据,在发送任何收集的数据之前,您将始终收到询问,并且这些数据将受到非常严格的 隐私政策 的约束。
如果您是一位 Web 开发者,那么 beta 过程将特别有价值。Firefox 4.0b1 中有很多 3.6 中没有的新功能——我们将在下面进行介绍——但我们将在整个 beta 过程中不断添加和修复功能,您的反馈将非常重要。所以,请花点时间下载并试用 beta 版本。如果可以,请一直运行它,并观察它随时间的变化。
性能
与 Firefox 3.6 相比,Firefox 4 包含大量性能改进。作为 Web 开发者,您可能会注意到整体性能的显著提升。
DOM 和样式性能 - 我们对 DOM 和样式解析引擎进行了巨大的改进,这意味着具有复杂 CSS 规则和选择器匹配的页面通常会更快、更流畅地运行。(在 Zimbra 性能测试套件中的一些测试中,我们看到了稳定的 2 倍性能提升。)
减少页面加载路径中的 I/O - 在 Firefox 4 与 3.6 之间,我们进行巨大改进的一个主要领域是 从主 UI 线程中删除大量 I/O。这意味着确保当我们根据浏览器历史记录对链接进行颜色查找时,这些查找是在主线程之外完成的,以确保我们没有在主线程上同步地将数据写入 HTTP 缓存。仅此一项就比其他任何改进都更大地改善了浏览器的整体体验。
JavaScript - JavaScript 引擎也快了很多,尽管 beta 1 不 包含新的 JägerMonkey 工作。这项工作正在顺利进行,并将通过 beta 过程逐步完成,并且已经 显示出积极的结果。
通过图层进行硬件加速 - 在这个 beta 版本中,我们还对硬件加速提供了出色的支持。如果您使用的是 HTML5 视频,并且您全屏播放视频,我们将使用 Mac 或 Linux 上的 OpenGL 以及 Windows 上的 DirectX 9 来加速视频渲染。(随着我们扩展 Gecko 图层 工作,我们还将在适当的情况下将这种加速扩展到页面内内容。)
通过 D2D 进行硬件加速 如果您使用的是 Windows 7 或更新版本的 Windows Vista,我们还 完全支持 D2D 启用的渲染。对于许多类型的渲染来说,这可以显著提高性能,IE 团队也在 IE9 中实施了类似的功能。在这次 beta 版本中,它默认未启用,但您可以轻松地 启用它 并试用它。我们看到的对 D2D 支持最好的演示实际上是 IE 飞翔图像 和 IE Flickr 浏览器 演示。Firefox 在这些演示中表现出色,在大多数情况下都比 IE9 版本更好。
进程外插件 - 即使是 Mac - 我们几周前已经向 Windows 和 Linux 用户提供了 3.6 中的进程外插件,但现在它也适用于 OSX。将插件移出进程可以提高稳定性、响应能力和内存使用率。对于 OSX,我们支持在 OSX 10.6 上进程外运行 Flash 10.1。(这需要 10.6 的支持,以及对 Firefox 和各个插件的事件模型进行更改。)
HTML5 支持
Firefox 早期就开始并一直出色地 支持 HTML5,而 beta 版本继续在这一基础上发展。
HTML5 表单 - 我们已经开始支持许多 HTML5 表单。我们将根据非常严格的 发布标准,在 beta 过程中适时增加更多 HTML5 表单功能。
HTML5 部分 - 我们现在支持 HTML5 部分,例如 <article>, <section>, <nav>, <aside>, <hgroup>, <header> 和 <footer>。
WebSockets - 这个版本包含对 WebSockets 的支持,基于规范的 -76 版。
HTML5 历史记录 - 我们还支持新的 HTML5 历史记录项:pushState
和 replaceState
。这些非常重要的调用使构建页面作为应用程序变得更容易,并且对于在网站之间移动时提高隐私也至关重要。
HTML5 解析器 - 我们也是第一个完全支持 HTML5 解析算法的浏览器,它是 HTML5 规范中最重要的部分之一。解析器允许我们 将 SVG 和 MathML 直接嵌入到 HTML 内容中,但也承诺开发者在不同的浏览器中具有相同的行为,即使开发者在标记中犯了错误。我们希望其他浏览器能够追随我们的步伐,因为它是在 HTML5 规范中最重要的互操作性部分之一,将真正帮助开发者。
当然,我们还支持 HTML5 Canvas(包括 D2D 硬件加速)、视频以及大量其他 HTML5 技术。
HTML5 视频
WebM 支持 - 到目前为止,这里最大的变化是,我们已经支持 WebM。如果您参与了 Youtube HTML5 beta 版,WebM 视频应该可以很好地播放。
其他即将推出的接口 - 请注意,在 beta 过程中,我们还将添加对视频的 JavaScript 驱动的全屏 API 支持、对 buffered
属性的支持以及将 autobuffer
属性重命名为 preload
的支持。
存储和文件 API
IndexedDB - Firefox 4 beta 1 还包含新的 IndexedDB 存储标准 的一个非常早期的快照。由于标准变化非常快,因此该对象在私有命名空间的 window.moz_indexedDB
对象上可用。这是一个相当复杂的内容,我们很快就会发布更多关于它的文章。
文件 API 的 URI 支持 - 我们还早期支持文件 API 中的 URI 支持。这意味着可以从文件 API 中处理大量数据(如图像或视频),而无需将整个文件加载到内存中。您还可以使用图像和视频标签引用私有的文件 API URL,以便进行预览或操作。
FormData - 我们还支持 FormData 方法,该方法使从文件 API 和其他来源向服务器发送复杂数据变得更加容易。
动画和图形
SMIL - 我们已经添加了对 SVG 动画(SMIL)的支持。如果您运行的是 4.0 beta 版本,则有大量的 David Dailey 在此页面上提供的美妙示例 值得一看。
SVG 无处不在 - 在 Firefox beta 版本的发布周期中,我们还将添加对 SVG 作为 img 和 SVG 作为 CSS 背景的支持。大部分工作已经完成,但尚未发布。
CSS 过渡 - 这个 beta 版本包含对 CSS 过渡 的几乎完整实现,使用 -moz
前缀在私有命名空间中。这里唯一遗漏的大事是变换和渐变的动画。(渐变仍在等待工作组的反馈,过渡的代码正在审查中。)
WebGL – 此版本还对 WebGL 提供了改进的支持,但尚未默认启用。(您可以从Vlad 的一篇旧文章中了解如何启用它。)WebGL 规范即将发布 1.0 版本,并且正在 Chrome、Safari 和 Firefox 中实施。我们希望在 Firefox 4 中发布它,但这项决定将基于规范的稳定性以及驱动程序的可用性。如果您使用的是 Mac,WebGL 应该可以很好地工作。在安装了 ATI 和 NVIDIA 驱动程序的 Windows 上,它也应该可以很好地工作。使用英特尔驱动程序的 Windows 用户运气不佳,因为英特尔提供的驱动程序支持非常糟糕。(包括本文的作者!)Linux 更加复杂,因为驱动程序支持差异很大 - 使用 NVIDIA 驱动程序的用户似乎运行良好,其他用户则不尽如人意,但正在努力解决 Linux 上的许多问题。
CSS
可调整大小的 textarea
元素 – textarea
元素现在默认情况下可调整大小。您可以使用 <a href="https://mdn.org.cn/en/CSS/-moz-resize">-moz-resize</a>
属性更改默认设置。
新的 -moz-any
选择器 – -moz-any
是一个功能强大的选择器,它允许您用更小的选择器替换大型且复杂的选择器。请参阅有关更多示例的文章。
新的 CSS3 calc()
支持 – 此 Beta 版本包含对新的 CSS3 calc() 值的支持。这使您可以指定包含百分比和绝对值的组合的大小,并且在开发人员中非常受欢迎。请参阅有关 CSS3 calc 的文章以获取示例。
选择背景图像的一部分 – 您现在可以使用新的 -moz-image-rect
选择器来仅选择背景的一部分以供显示。
删除了对 -moz-background-size
的支持 – -moz-background-size
属性已重命名为其最终的 <a href="https://mdn.org.cn/en/CSS/background-size">background-size</a>
名称。-moz-background-size
不再受支持。
DOM 和事件
输入事件上的 CSS 触摸源 – 您现在可以使用 <a href="https://mdn.org.cn/en/DOM/event.mozInputSource">event.mozInputSource</a>
判断输入事件是来自鼠标还是触摸。
获取范围的边界矩形 – Range 对象现在具有 getClientRects()
和 getBoundingClientRect()
方法。
在任意元素上捕获鼠标事件 – 已添加对源自 Internet Explorer 的 setCapture()
和 releaseCapture()
API 的支持。
对 document.onreadystatechange
的支持 – 我们现在支持 <a href="https://mdn.org.cn/en/DOM/document.onreadystatechange">document.onreadystatechange</a>
。
安全
内容安全策略 – 此 Beta 版本包含对内容安全策略的支持。CSP 允许您控制浏览器在加载来自您网站的内容时被允许执行的操作。CSP 旨在减轻跨站脚本攻击和跨站请求伪造攻击。它还包含一个自动报告机制,以便管理员可以获取可能影响其他浏览器的问题的报告。
结束语
这就是 Firefox 4 Beta 版发布的开始。我们将在 Beta 版发布过程中添加更多功能,并在这些功能上线时发布公告。我们还将提供有关其中一些功能的更详细的信息。当然,我们还将在整个 Beta 版过程中继续努力改进性能。如果您有任何意见或建议,请进行测试并发表评论,或者使用 Firefox 中的反馈系统。
享受!
55 条评论