Firefox 19 for developers

  • 版本网址缩略名: Mozilla/Firefox/Releases/19
  • 版本标题: Firefox 19 for developers
  • 版本 id: 407389
  • 创建于:
  • 创建者: ziyunfei
  • 是否是当前版本?
  • 评论

修订内容

Firefox 19在2013年2月19日正式发布.

Web开发者需要注意的变化

JavaScript

  • MapSet 对象的 size() 方法变成了 size 属性. ({{bug("807001")}})
  • MapSet 对象新增了一个 clear() 方法. ({{bug("805003")}})

CSS

  • 支持了几个 viewport-relative的 {{xref_csslength}} 单位: vh, vw, vmin 以及 vmax ({{bug("503720")}})
  • CSS Flexbox 脱前缀,但仍然被默认禁止 ({{bug("801098")}}).
  • -moz-initial 脱前缀 ({{bug("806068")}}).不过 -moz-initial 仍然会作为别名保留一段时间,但仍然推荐你尽快改用 initial.
  • {{cssxref("text-transform")}} 属性现在支持了 full-width 关键字, which allows a more seamless inclusion of Latin characters in text using ideographic fixed-width characters, like Chinese or Japanese ({{bug("774560")}}).
  • 实现了 {{cssxref("page-break-inside")}} ({{bug("685012")}}).
  • {{cssxref("calc", "calc()")}} 函数可以使用在 <color-stop> 上( {{xref_cssgradient}}上的一个值).
  • 实现了 {{cssxref("@page")}} @规则 ({{bug("115199")}}).但是 {{cssxref(":first")}}, {{cssxref(":right")}}, {{cssxref(":left")}} 仍没实现.
  • {{cssxref(":-moz-placeholder")}} 伪类替换成 {{cssxref("::-moz-placeholder")}} 伪元素 ({{bug("737786")}}).

DOM

  • {{domxref("element.getElementsByTagName")}} 方法开始返回 HTMLCollection 对象,而不是以前的 NodeList 对象. ({{bug("799464")}}).
  • 实现了 {{domxref("File")}} 对象的 mozLastModifiedDate 属性. ({{bug("793955")}})
  • 当 {{domxref("File")}} 对象的最后修改时间无法获取到时,它的 lastModifiedDate 属性会返回当前日期. ({{bug("793459")}}
  • 实现了 {{domxref("CanvasRenderingContext2D")}}对象的 isPointInStroke 方法. ({{bug("803124")}}).
  • 实现了 {{domxref("HTMLCanvasElement")}} 对象的 toBlob 方法 ({{bug("648610")}}).
  • {{domxref("Node.isSupported")}} 和 {{domxref("document.implementation", "document.implementation.hasFeature()")}} 方法会总是放回 true ({{bug("801425")}}).
  • 当调用 document.createElement(null)时, null 会被转换成字符串,就像执行了 document.createElement("null").

XForms

删除了对XForms的支持.

附加组件和Mozilla开发者需要注意的变化

注: A key change in Firefox 19 is that nsresult is now strongly typed. This will help make it easier to detect bugs that are caused by mishandling of return values, but may cause existing code to break if it's making incorrect assumptions in this regard.

  • getBrowserSelection() now returns the selected text in a text input field. As a result, gContextMenu.isTextSelected will be true when the user selects text in a text input field that is not a password field. ({{bug("565717")}})
  • Dict.jsm: Dict() now takes a JSON String. Dict.toJSON() was added, and it returns a JSON String. ({{bug("727967")}})

接口变化

{{interface("nsIImgLoadingContent")}}
The parameter (aObserver) of addObserver() method changes from {{interface("imgIDecoderObserver")}} to {{interface("imgINotificationObserver")}}. The notify() method of {{interface("imgINotificationObserver")}} is not scriptable, so you need to use createScriptedObserver() from {{interface("imgITools")}}.
{{interface("nsIChannel")}}
 contentLength 属性的类型由 long 改成 int64_t.

相关链接

更早版本

{{Firefox_for_developers('18')}}

修订版来源

<p>Firefox 19在2013年2月19日正式发布.</p>
<h2 id="Web.E5.BC.80.E5.8F.91.E8.80.85.E9.9C.80.E8.A6.81.E6.B3.A8.E6.84.8F.E7.9A.84.E5.8F.98.E5.8C.96">Web开发者需要注意的变化</h2>
<h3 id="JavaScript">JavaScript</h3>
<ul>
  <li><code><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/Map" title="JavaScript/Reference/Global_Objects/Map">Map</a></code> 和 <code><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/Set" title="JavaScript/Reference/Global_Objects/Set">Set</a></code> 对象的 <code>size()</code> 方法变成了 <code>size</code> 属性. ({{bug("807001")}})</li>
  <li><code><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/Map" title="JavaScript/Reference/Global_Objects/Map">Map</a></code> 和 <code><a href="/zh-CN/docs/JavaScript/Reference/Global_Objects/Set" title="JavaScript/Reference/Global_Objects/Set">Set</a></code> 对象新增了一个 clear() 方法. ({{bug("805003")}})</li>
</ul>
<h3 id="CSS">CSS</h3>
<ul>
  <li>支持了几个 viewport-relative的 {{xref_csslength}} 单位: <code>vh</code>, <code>vw</code>, <code>vmin</code> 以及 <code>vmax</code> ({{bug("503720")}})</li>
  <li>CSS Flexbox 脱前缀,但仍然被默认禁止 ({{bug("801098")}}).</li>
  <li><code>-moz-initial</code> 脱前缀 ({{bug("806068")}}).不过 <code>-moz-initial</code> 仍然会作为别名保留一段时间,但仍然推荐你尽快改用 <code>initial</code>.</li>
  <li>{{cssxref("text-transform")}} 属性现在支持了 <code>full-width</code> 关键字, which allows a more seamless inclusion of Latin characters in text using ideographic fixed-width characters, like Chinese or Japanese ({{bug("774560")}}).</li>
  <li>实现了 {{cssxref("page-break-inside")}} ({{bug("685012")}}).</li>
  <li>{{cssxref("calc", "calc()")}} 函数可以使用在 <code>&lt;color-stop&gt;</code> 上( {{xref_cssgradient}}上的一个值).</li>
  <li>实现了 {{cssxref("@page")}} @规则 ({{bug("115199")}}).但是 {{cssxref(":first")}}, {{cssxref(":right")}}, {{cssxref(":left")}} 仍没实现.</li>
  <li>{{cssxref(":-moz-placeholder")}} 伪类替换成 {{cssxref("::-moz-placeholder")}} 伪元素 ({{bug("737786")}}).</li>
</ul>
<h3 id="DOM">DOM</h3>
<ul>
  <li>{{domxref("element.getElementsByTagName")}} 方法开始返回 <code>HTMLCollection</code> 对象,而不是以前的<code> NodeList 对象</code>. ({{bug("799464")}}).</li>
  <li>实现了 {{domxref("File")}} 对象的 <code>mozLastModifiedDate</code> 属性. ({{bug("793955")}})</li>
  <li>当 {{domxref("File")}} 对象的最后修改时间无法获取到时,它的 lastModifiedDate 属性会返回当前日期. ({{bug("793459")}}</li>
  <li>实现了 {{domxref("CanvasRenderingContext2D")}}对象的 <code>isPointInStroke</code> 方法. ({{bug("803124")}}).</li>
  <li>实现了 {{domxref("HTMLCanvasElement")}} 对象的 <code>toBlob</code> 方法 ({{bug("648610")}}).</li>
  <li>{{domxref("Node.isSupported")}} 和 {{domxref("document.implementation", "document.implementation.hasFeature()")}} 方法会总是放回 <code>true</code> ({{bug("801425")}}).</li>
  <li>当调用 <code>document.createElement(null)时</code>, <code>null</code> 会被转换成字符串,就像执行了 <code>document.createElement("null")</code>.</li>
</ul>
<h3 id="XForms">XForms</h3>
<p><a href="http://www.philipp-wagner.com/blog/2011/07/the-future-of-mozilla-xforms/" title="http://www.philipp-wagner.com/blog/2011/07/the-future-of-mozilla-xforms/"><strong>删除</strong></a>了对<a href="/zh-CN/docs/XForms" title="XForms">XForms</a>的支持.</p>
<h2 id=".E9.99.84.E5.8A.A0.E7.BB.84.E4.BB.B6.E5.92.8CMozilla.E5.BC.80.E5.8F.91.E8.80.85.E9.9C.80.E8.A6.81.E6.B3.A8.E6.84.8F.E7.9A.84.E5.8F.98.E5.8C.96">附加组件和Mozilla开发者需要注意的变化</h2>
<div class="note">
  <p><strong>注:</strong> A key change in Firefox 19 is that <a href="/zh-CN/docs/XPCOM_API_Reference/nsresult" title="XPCOM_API_Reference/nsresult"><code>nsresult</code></a> is now strongly typed. This will help make it easier to detect bugs that are caused by mishandling of return values, but may cause existing code to break if it's making incorrect assumptions in this regard.</p>
</div>
<ul>
  <li><code>getBrowserSelection()</code> now returns the selected text in a text input field. As a result, <code>gContextMenu.isTextSelected</code> will be <code>true</code> when the user selects text in a text input field that is not a password field. ({{bug("565717")}})</li>
  <li><a href="/zh-CN/docs/Mozilla/JavaScript_code_modules/Dict.jsm" title="Mozilla/JavaScript_code_modules/Dict.jsm">Dict.jsm</a>: <a href="/zh-CN/docs/Mozilla/JavaScript_code_modules/Dict.jsm#Creating_a_dictionary" title="Mozilla/JavaScript_code_modules/Dict.jsm#Creating_a_dictionary"><code>Dict()</code></a> now takes a JSON String. <a href="/zh-CN/docs/Mozilla/JavaScript_code_modules/Dict.jsm#toJSON()" title="Mozilla/JavaScript_code_modules/Dict.jsm#toJSON()"><code>Dict.toJSON()</code></a> was added, and it returns a JSON String. ({{bug("727967")}})</li>
</ul>
<h3 id=".E6.8E.A5.E5.8F.A3.E5.8F.98.E5.8C.96">接口变化</h3>
<dl>
  <dt>
    {{interface("nsIImgLoadingContent")}}</dt>
  <dd>
    The parameter (aObserver) of <code>addObserver()</code> method changes from {{interface("imgIDecoderObserver")}} to {{interface("imgINotificationObserver")}}. The <code>notify()</code> method of {{interface("imgINotificationObserver")}} is not scriptable, so you need to use <code>createScriptedObserver()</code> from {{interface("imgITools")}}.</dd>
  <dt>
    {{interface("nsIChannel")}}</dt>
  <dd>
    &nbsp;<code>contentLength</code> 属性的类型由<code> long</code> 改成 <code>int64_t</code>.</dd>
</dl>
<h2 id=".E7.9B.B8.E5.85.B3.E9.93.BE.E6.8E.A5">相关链接</h2>
<ul>
  <li><a href="http://www.mozilla.org/zh-CN/firefox/19.0/releasenotes/">Firefox&nbsp;19 发行说明</a></li>
  <li><a href="/zh-CN/docs/Site_Compatibility_for_Firefox_19">Firefox 19 网站兼容性</a></li>
  <li><a href="https://blog.mozilla.org/addons/2013/02/07/compatibility-for-firefox-19/">Firefox 19 附加组件兼容性</a></li>
</ul>
<h3 id=".E6.9B.B4.E6.97.A9.E7.89.88.E6.9C.AC">更早版本</h3>
<div>
  {{Firefox_for_developers('18')}}</div>
恢复到这个版本