阅读更多

30顶
1踩

Web前端

转载新闻 Firefox 5 —— 开发者的那些事

2011-06-24 10:12 by 见习编辑 hotwind 评论(4) 有7236人浏览
    Firefox 5已经发布了,这里来跟大家分享一下从Firefox 5中开发者能获得的新武器。

CSS3 动画

CSS动画(参阅文档)提供了使用CSS来制作动画效果的能力。跟CSS移位效果一样,使用CSS动画可以非常高效平滑的展现效果(看大牛David Baron的文章),开发者拥有对keyframes有更好的控制力,从而制作出更加复杂的动画效果。

   需要注意的变化

  • 开发者可以把Image作为参数传递给 createImageData 来获取图片的大小数据;
  • 在后台标签中,setTimeout setInterval 每秒钟只能执行一次回调函数,这符合 requestAnimationFrame 要求的描述,用来减少CPU和电源的消耗。
  • 其他的Bug Fix和性能提升

HTML



Canvas改进

  • <canvas> 2D绘图上下文现在支持定义 ImageData 为 createImageData() 方法的输入;生成新的  ImageData 对象会初始化为跟指定对象具有相同的大小,不过所有画布上所有像素都预设为透明黑色;
  • 调用 CanvasGradient 的 addColorStop() 方法时,如果指定非规定值作为停止颜色的参数时会抛出 INDEX_SIZE_ERR 异常而不是 SYNTAX_ERR;
  • HTMLCanvasElement 的方法 toDataURL() 在匹配前会正确的将指定的MIME类型变为小写字母;
  • getImageData() 能够接受超过画布大小的矩形为参数,在画布之外区域的像素被预设为透明的黑色;
  • drawImage() 和 createImageData() 支持规范定义的,可以接受负数的参数,可以让指定的矩形区域围绕某个坐标轴进行旋转;
  • 调用 createImageData() 时传递非规定参数时抛出 NOT_SUPPORTED_ERR 异常;
  • 如果 createImageData() 和 getImageData() 参数描述的矩形小于一个像素的话,也会返回至少一个像素大小的数据;
  • 调用 createRadialGradient() 时传递负数的半径会抛出 INDEX_SIZE_ERR 异常;
  • 调用 createPattern() 或者 drawImage() 时参数如果为 null 或者 undefined image对象的话,会抛出 TYPE_MISMATCH_ERR 异常;
  • globalAlpha 如果指定为非法参数的话,不再抛出 SYNTAX_ERR 异常,现在都是悄悄的忽略掉;
  • Specifying invalid values when calling调用 translate(), transform(), rect(), clearRect(), fillRect(), strokeRect(), lineTo(), moveTo(), quadraticCurveTo() 和 arc() 如果传入非法参数的话,不再抛出异常,还是悄悄的忽略掉;
  • shadowOffsetX, shadowOffsetY 和 shadowBlur 的属性值设定不正确的话也是悄悄的忽略掉;
  • rotate 和 scale 的属性设定同上。


CSS

添加对 CSS 动画 的支持,不过现在还需要使用 -moz-前缀。

DOM

  • 修改了 selection 对象的 modify() 方法,这样“文字”选取对象不再包括结尾出多余的空格,从而各个平台上的操作保持一致,并且跟WebKit的实现也保持一致;
  • 在后台标签页中,window.setTimeout() 每秒钟只会调用一次超时回调函数。另外,嵌套的超时会根据HTML5规范中定义的最小的数值:4ms(以前是10ms)。
  • window.setInterval() 方法同上;
  • XMLHttpRequest 现在 支持 loadend 事件 给进度监听器(Progress Listener)。任何传输在结束之后都会引起这个事件(也就是在 abort, error 和 load 事件之后)。可以监听这个时间来处理不管是错误还是失败之后都需要进行的操作。
  • BlobFile 对象的 slice() 方法被移除,并且替换为新的词法表述,从而跟JavaScript中 Array.slice() String.slice() 方法保持一致的语义。现在,这个方法被命名为  mozSlice()
  • window.navigator.language 的值由 Accept-Language HTTP header 来决定。


JavaScript

  • 正则表达式不再像函数一样可以被调用,这么做是为了同WebKit保持一致和兼容(参看 WebKit bug 28285 );
  • 支持 Function.prototype.isGenerator() 方法,允许开发者查看函数是否为 generator。


SVG

  • class SVG 属性支持动画效果;
  • 下述 SVG 相关的 DOM 接口(表现为对象列表的)支持数列话,可以直接像数组一样被访问,另外,也提供了 length 属性来表示列表中对象的数量: SVGLengthList , SVGNumberList , SVGPathSegList 和 SVGPointList 。


HTTP

  • Firefox 不再发送 “Keep-Alive” HTTP 头;我们对他格式化的不对,而且当我们同时发送 Connection: 和 Proxy-Connection: 头部信息时,Keep-Alive有点多余;
  • 更新了 HTTP 的传输模型,更智能的重用连接池中的已有连接;不再把连接池当作 FIFO 队列,Necko 现在尝试按照最大的 拥挤窗口 (CWND) 来排序连接。这可以在很多情况下降低 HTTP 传输的RTT时间;
  • 如果 filename 和 filename* 参数提供了的话,Firefox 更高效的处理 Content-Disposition HTTP 回应头数据;在提供 filename* 参数的情况下,Firefox会查看所有提供的名字,即使同时也提供了 filename 参数。


MathML

支持修饰操作符

开发者工具

Web 控制台的 Console 对象 支持 debug() 方法,他就是 log() 方法的别名,提供更好的兼容性。

via hacks.mozilla.org


来自: mijia.org
30
1
评论 共 4 条 请登录后发表评论
4 楼 jxjnice 2011-07-31 18:21
[color=brown][/color][b][/b][i][/i][u][/u]
引用
[flash=200,200]
字体颜色: 标准深红红色橙色棕色黄色绿色橄榄青色蓝色深蓝靛蓝紫色灰色白色黑色 字体大小: 标准1 (xx-small)2 (x-small)3 (small)4 (medium)5 (large)6 (x-large)7 (xx-large) 对齐: 标准居左居中居右[/flash]
[flash=200,200][/flash][/url][url][img][/img][size=xx-small][/size]
3 楼 zht110227 2011-07-28 09:16
现在都赶上myeclipse了,哎。我的内存
2 楼 ddkk 2011-07-14 16:26
等待包含了传说中修复内存占用过多鸡血补丁的版本
1 楼 308655406 2011-06-27 08:35
正在开发SVG
之前确实不支持SVG动画效果

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Firefox附加组件开发者指南(一)——扩展简介

    https://developer.mozilla.org/En/Firefox_addons_developer_guide Chapter1: Introduction to extensions Chapter2: Technologies used in developing extensions Chapter3: Introduction to XUL—How to build

  • 网页开发工具有哪些?——开发者必备的15个Web开发工具

    ——开发者必备的15个Web开发工具 序号 软件名称 软件说明 1 Firebug Firebug是Firefox下的一款开发类插件,现属于Firefox的 五星级强力推荐插件之一。它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体...

  • Firefox那些事——扩展、插件、脚本、附加组件

    浏览器,先是国产的QQ浏览器、后是Chrome、然后是Firefox(其他的IE、Edge、Opera、Safari没有折腾,毕竟玩就玩大的——数据来源)。 原因: 为啥先折腾QQ浏览器呢,因为原来就是用的国产的浏览器,而且个人认为在...

  • firefox附加组件开发者指南——译序

    本系列文章很适合作为学习Firefox附加组件开发的参考。其中说明了Firefox扩展开发所需要使用到的技术,并对这些技术进行了简明的介绍。翻译完本系列文章,特别是第五章之后,我对Firefox附加组件开发的理解又深入了...

  • firefox附加组件开发者指南(五)——创建一个firefox扩展(上)

    本章篇幅较长,分上下两部分发布,本章中的图和清单4在原网站中没有,因此这里也没有,感兴趣的可以去原文补充。...注:那些对诸如netbeans、eclipse等IDE掌握得非常好的开发者的创建Firefox/thunderbird

  • Mozilla推出首款为开发者打造的浏览器——火狐开发者专版

    Mozilla推出首款为开发者打造的浏览器——火狐开发者专版 2004年11月9日,Firefox1.0正式发布。今年的11月9日,Firefox迎来了自己的十周岁生日。...十年前,Mozilla为发烧友和开发者打造了 Firefox 火狐浏...

  • JS逆向学习——浏览器开发者工具 network 网络

    在浏览器页面上右键后点击检查选项,打开开发者工具,点击网络(NetWork)可以看到如下界面这个功能主要用于在逆向时进行抓包,但光进入这个页面功能还是不够用的。 在页面上按下快捷键 “Crl+F”打开搜索功能区,如...

  • python浏览器开发者工具_Python学习第232课——浏览器开发者工具

    这就需要用到浏览器开发者工具。我们编写的网页代码(html、css、JavaScript)是必须通过浏览器来解析、渲染,才能在浏览器上展示为网页的,那么基本上所有的浏览器上都自带了开发者工具,这样对于开发者来说,不但...

  • JavaScript与FireFox的不解之缘——错误处理与调试

    作为IT界的一员出现Bug真是在正常不过。在学习JavaScript的时候难免自己因为各种原因而导致...在学习过程中都习惯使用火狐浏览器进行查看效果,那么如何完美的借助火狐达到目的呢?下边就是答案! 【错误处理】...

  • firefox附加组件开发者指南(三)——XUL简介(上)

    如果我们想要Firefox运行的过程中不显示任何Firefox本身的GUI而只显示某个XUL文件的内容,我们可用运行Firefox并设置选项-chrome file_URL.XUL。 另一种方法,如清单1所示,使用window.openDialog()方法,这只能用...

  • 神器——Chrome开发者工具

    其实其他浏览器也有类似工具,比如Firefox下的firebug。本文将会详细讲述如何使用Chrome开发者工具,希望里面有些让你感到惊艳的东西!即使你不用Chrome,那么文中的某些内容也会相当有用。 首先啰嗦一下如何打开...

  • firefox附加组件开发者指南(六)——firefox扩展及XUL应用程序

    Venkman是一个成熟的运行于firefox中的javascript调试器。它像典型的调试器一样工作,既可以用于开发扩展有可以用于一般的网络开发。 由于其与扩展和firefox本身的javascript一起工作。这个调试器还开业作为一种...

  • 神器——Chrome开发者工具(一)

    其实其他浏览器也有类似工具,比如Firefox下的firebug。本文将会详细讲述如何使用Chrome开发者工具,希望里面有些让你感到惊艳的东西!即使你不用Chrome,那么文中的某些内容也会相当有用。 首先啰嗦一下如何打开...

  • firefox附加组件开发者指南(三)——XUL简介(中)

    XUL中可用的窗体部件 根元素 XUL文档使用不同的根元素来实现不同的目的。...例如,Firefox使用navigator:browser作为其浏览器窗口的windowtype,使用Browser:Preference作为其选项窗口的windowtype。使用将

  • firefox附加组件开发者指南(三)——XUL简介(下)

    在Firefox中,这用来对各种功能进行模块化并实现了扩展。 通过在XML声明中插入一个xul-overlay处理指令和根元素的开始标签,通过xul-overlay指定的XUL文档会在当前当前的XUL文档读取的同时进行读取。实际显示的XUL...

  • firefox附加组件开发者指南(五)——创建一个firefox扩展(下)

    开发实用的扩展:一个会话...在工具菜单下,会话存储子菜单包含两个项——保存会话和清理会话,在它们之间是一个刚才保存可以恢复的会话清单,最近的在最前面。 图12:菜单中的会话管理扩展接口 如”会话存储API

  • 【爬虫学习预备】HTTP基础知识——通过浏览器开发者模式学习

    小白学习爬虫知识,需要一些http知识作为补充。本文通过查看浏览器的开发者模式,学习HTTP模式的基本请求与响应相关知识。

  • firefox附加组件开发者指南(二)——开发扩展过程中使用的技术

    在深入阐述之前,我们快速的介绍一下用来开发firefox扩展的技术。还有为开发firefox必须了解的一些知识。 开发firefox扩展用到的技术 Firefox及其扩展都是基于当前网络开发广泛使用的技术。其结构与使用在网页中...

  • firefox附加组件开发者指南(四)——使用XPCOM:实现高级处理

    本章描述如何利用javascript脚本语言使用...IE使用activex来处理,在firefox中我们使用XPCOM(跨平台组件对象模型)。 关于XPCOM XPCOM是用来开发独立于平台的组件的一个框架(framework)。在这个框架下开发的组

  • 开发Firefox扩展——译自MDN.docx

    一.... ...这篇教程通过一些必要的步骤指导你开发一个简单的扩展——在火狐浏览器的状态面板(status bar panel)中加入一项“hello,World”。(ajiao注:事实上是加在了工具菜单中) ...从firefox4(和其他的基

Global site tag (gtag.js) - Google Analytics