Aurora 6 发布

Aurora 6 的新功能

此新版本 Aurora 最显著的添加是 <progress> 元素、window.matchMedia API、二进制数据 的更完善 API、服务器发送事件,以及 WebSockets 的回归。

Aurora 6 已于上周发布,可从 firefox.com/channel 下载。

<progress> 元素


screenshot of progress bars as seen on windows
此元素可用于在页面中提供有关某个正在进行的操作的视觉提示。使用系统进度条,这意味着 MacOS 和 Linux 用户将看到与这里图片不同的内容。

matchMedia

window.matchMedia() 等同于 CSS Media Queries 的 JavaScript 版本。

二进制数据 API 改进

  • XHR2 的 responseType 和 response 属性允许以高效的 Blob 或 ArrayBuffer 格式获取 XHR 的响应。
  • FileReader.readAsArrayBuffer() 允许读取文件并将响应作为 ArrayBuffer 获取。
  • BlobBuilder 允许将多个 Blob 以及文本和 ArrayBuffer 连接成一个 Blob。

预计在 Aurora 7 中将看到更多此方面的改进。

服务器发送事件

服务器发送事件 是一种机制,允许服务器端脚本生成带有数据的客户端事件。


服务器端使用 text/event-stream MIME 类型生成的的消息,由事件数据的列表组成。

data: data generated by the server

data: this line will generate a second event

WebSockets 回来了!

WebSockets 可用于在浏览器和服务器之间创建交互式通信通道。它们已用于构建“HTML5”聊天、多人游戏等许多应用。
请注意,此 API 将暂时命名空间化,以备将来规范变更。

其他有趣的功能

blog.mozilla.com/futurereleases 上了解 Aurora 6 用户界面的新功能,并告诉我们您的想法。

关于 louisremi

开发者关系团队,长期 jQuery 贡献者和开放网页爱好者。 @louis_remi

更多来自 louisremi 的文章…


20条评论

  1. Luigi Montanez

    我不理解 SSE 的基于标签的语法。规范说它们应该使用 new EventSource(‘server.script’) 实例化。

    http://dev.w3.org/html5/eventsource/

    2011年5月30日 08:05

  2. zcorpan

    服务器发送事件示例已经过时多年。没有“event-source”元素。

    2011年5月30日 08:08

  3. Ms2ger

    确实。示例已删除,正在编写新的示例。

    2011年5月30日 08:26

  4. louisremi

    感谢您的警惕,服务器发送事件的代码片段已更新。

    2011年5月30日 08:31

  5. Rick Waldron

    很高兴看到 Firefox 支持 EventSource API。

    所有现有实现中都有一个重大缺陷,即它们实际上并没有打开“监听器”来监听从服务器生成和发送的某种事件。实际上,它们所实现的是等同于本机轮询机制的东西,尽管这也有用。

    去年秋天,我发布了一个测试支持(单元测试和规范测试)的 jQuery 扩展,它提供了一个统一的 API(使用 XHR 作为回退)。 https://github.com/rwldrn/jquery.eventsource

    此外,我还创建了这些有用的 EventSource API 测试、代码片段和演示

    将数组序列化为 JSON 数据
    https://gist.github.com/415294

    回显序列化的 GET 参数
    https://gist.github.com/415836

    发送 GET 参数
    https://gist.github.com/415836

    我还有其他一些代码片段: https://gist.github.com/gists/search?q=eventsource&page=1

    EventSource 的快速入门指南
    http://weblog.bocoup.com/chrome-6-server-sent-events-with-new-eventsource

    我写的一篇关于从 WebWorker 线程创建 EventSource 的文章: http://weblog.bocoup.com/javascript-creating-an-eventsource-within-a-worker

    一个使用 EventSource 编写的微型网络聊天
    http://weblog.bocoup.com/jquery-eventsource-yakyakface-com & http://yakyakface.com

    2011年5月30日 09:38

    1. Luigi Montanez

      感谢您提供的资源,Rick,您真是 EventSource 大师!

      对于感兴趣的人来说,我写了一篇关于 WebSockets 与 EventSource 的对比案例研究,特别关注服务器端支持。

      http://www.html5rocks.com/tutorials/casestudies/sunlight_streamcongress.html

      2011年5月30日 09:53

  6. Jason

    是否可以为 progress 元素的值部分设置样式?

    显然,webkit 浏览器使用伪元素“::-webkit-progress-bar-value”,是否存在等效的 moz 伪元素?

    2011年5月30日 10:59

    1. Robert O’Callahan

      是的 - ::-moz-progress-bar。

      2011年5月30日 18:05

  7. Chris

    您知道导航计时何时会加入吗?

    供参考: http://w3c-test.org/webperf/specs/NavigationTiming/

    这已经加入了 Google Chrome(从版本 6 开始),现在也加入了 Internet Explorer 9。

    2011年5月30日 12:05

  8. Andrei

    我在 Ubuntu 上的 Nightly 版本 7.01a 上尝试了 progress 示例,但显然每个部分只能存在一个 progress 标签。我不得不将每个 progress 放置到单独的 div 中,才能让它们都显示在页面上,否则只会显示第一个。

    2011年5月30日 13:52

    1. louisremi

      抱歉,progress 元素必须写成 ,而不是我最初写的。

      2011年5月31日 05:29

  9. Aslak Hellesøy

    很高兴看到 Aurora 支持 EventSource!

    我知道支持它的网页服务器并不多,但这里有一个: http://webbitserver.org/(免责声明:我是贡献者)。

    2011年5月30日 14:47

  10. Robert O’Callahan

    Louis,我认为你可以提一下 -moz-hyphens 作为一项值得注意的添加。这是我们首次支持任何类型的自动连字符。

    2011年5月30日 18:06

  11. Frank

    仅供参考,现在您也可以使用此技巧在 IE 中使用 websockets

    http://bit.ly/irM6XV

    2011年5月31日 02:29

  12. Yaffle

    请参阅 https://github.com/Yaffle/polyfills,了解使用“服务器推送”为 IE8+、FF 提供 EventSource 的垫片。

    2011年5月31日 09:03

  13. Ahmet Ertem

    我希望其他浏览器能像 Mozilla 一样创新…

    2011年6月4日 04:59

  14. Pouet

    有谁知道是否存在符合 Hybi-10 的 Java websocket 服务器?

    2011年8月19日 05:19

    1. Aslak Hellesoy

      Webbit 支持 hybi-10

      http://aslakhellesoy.com/post/8662017748/webbit-0-2-0-with-hybi-10-support

      2011年8月19日 08:03

  15. Pouet

    是的,我尝试过 webbit,但没有成功。浏览器中的 WebSocket 立即关闭,我在 onOpen、onMessage 或 onClose 中都没有看到任何服务器端活动的迹象。好吧,我只是快速尝试了一下,所以我可能错过了什么。无论如何谢谢 :)

    2011 年 8 月 19 日 下午 09:21

  16. anh tuan

    有人知道如何在 Java 中对 hybi 10 进行编码和解码,以便在 WebSocket 中发送和接收消息吗?谢谢

    2011 年 11 月 13 日 上午 00:03

本文评论已关闭。