mozilla

Revision 520823 of Firefox 29 サイト互換性情報

  • リビジョンの URL スラグ: Mozilla/Firefox/Releases/29/Site_Compatibility
  • リビジョンのタイトル: Firefox 29 サイト互換性情報
  • リビジョンの ID: 520823
  • 作成日:
  • 作成者: kohei.yoshino
  • 現行リビジョン いいえ
  • コメント

このリビジョンの内容

{{ draft() }}

Firefox 29 の Aurora (プレベータ版) が にリリースされました。可能な限り互換性を維持しつつ開発されましたが、他のブラウザとの相互運用性や最新 Web 標準仕様への準拠のため、後方互換性に関わる変更も含まれます。そのような変更点をまとめましたので、サイトやアプリケーションの動作検証時にご活用ください。

ここでは Web サイトの後方互換性に影響し得る変更のみ解説します。その他の新機能や変更点については以下のドキュメントをご覧ください。

この一覧は の最終版リリースまでに更新される可能性がありますので、後日またチェックしてください。今後の更新について知りたければ、Twitter で @MozWebCompat をフォローしてください。

HTML

<pre> から古い機能が削除されました

Firefox は {{ HTMLElement("pre") }} 要素の colswidth 両属性に対応しなくなりました。前者は Netscape Navigator 由来の非標準の拡張仕様でした。後者は HTML4 の仕様に含まれていましたが、HTML5 から削除されました。

CSS

box-sizing の接頭辞が外れました

{{ cssxref("box-sizing") }} プロパティの接頭辞が外れました。-moz-box-sizing は一定期間残されますが、開発者は接頭辞なしのプロパティを代わりに使うことが推奨されます。

DOM

cloneNodeimportNode の既定動作が浅い複製になりました

{{ domxref("Node.cloneNode") }}、{{ domxref("document.importNode") }} 両メソッドは真偽値の deep 引数を取ります。これは DOM4 の仕様ではオプションであり、省略された場合、これらのメソッドは deep の値が true であるとみなします。しかしこの挙動が最新の仕様で変更され、省略された場合、この値が false であるとみなされるようになりました。 つまり、深い複製に代わって浅い複製が既定動作になったということです。Firefox 28 は、前方互換性のためこの引数を省略しないようコンソールを通じて開発者に警告を出していました。

{{ domxref("window.navigator.plugins") }} プロパティによって返される {{ domxref("PluginArray") }} インタフェースが制限され、列挙してもインストールされているすべてのプラグインの名前が返らなくなりました。この変更は特定のフィンガープリンティング技術の有効性を低減することでユーザのプライバシーを向上させることを目的としています。これによってプラグインが無効化されるわけではなく、一部のプラグインの名前が列挙できなくなっただけです。ブラウザプラグインの存在を確認する必要がある Web サイトは、すべてのプラグインや MIME タイプ名を列挙する代わりに、正確な名前で navigator.plugins もしくは {{ domxref("window.navigator.mimeTypes") }} を参照してください。 この変更は元々 Firefox 28 で予定されていました。Mozilla は 影響を受けるいくつかのサイト を把握しています。

HTMLIFrameElement.sandboxDOMSettableTokenList を返すようになりました

従来、{{ domxref("HTMLIFrameElement") }} インタフェース ({{ HTMLElement("iframe") }} 要素) の sandbox プロパティは allow-same-origin のような文字列値を返していました。最新の仕様に合わせ、この型が {{ domxref("DOMSettableTokenList") }} に変更されました。sandbox.value が従来と同じ文字列表現を返します。

window._contentpkcs11LoadStatus が削除されました

グローバルオブジェクトを標準化する現在進行中の取り組みの一環として、{{ domxref("window") }} からいくつかのプロパティが削除されました。_content プロパティは {{ domxref("window.content") }} と重複しており、Web コンテンツから使用できなくなりました。{{ domxref("window.pkcs11") }} はセキュリティ上の理由から Firefox 3.0.14 以降 null を返していました。非標準の LoadStatus インタフェースも window 上で参照できなくなりました。

Attr.ownerElement が削除されました

{{ domxref("Attr") }} インタフェースの ownerElement プロパティは、Firefox 7 で廃止予定となり、Firefox 29 で削除されました。

JavaScript

ジェネレータが例外を投げる代わりに IteratorResult を返すようになりました

ECMAScript 6 準拠の ジェネレータ (yield) 構文が Firefox 26 で導入されました。この実装が最新仕様に合わせて更新され、完了したジェネレータ式が TypeError を投げる代わりに { value: undefined, done: true } のような IteratorResult オブジェクトを返すようになりました。 この挙動は Firefox 27 で実装が更新された ArrayMapSet インタフェースのイテレータと一致します。

WebGL

moz-webgl コンテキストリクエストが廃止されました

Canvas から古い moz-webgl の名前を使って WebGL コンテキストを取得する方法は対応が打ち切られました。Getting started with WebGL で説明されているように、標準の webgl コンテキストを使ってください。

その他

ブラウザウィンドウの最小幅が設定されました

Firefox 29 で導入された新しい Australis テーマ で UI が欠けてしまう潜在的な問題を防ぐため、Firefox のデスクトップブラウザウィンドウに最小幅が設定されました。このサイズは OS X 上で 425px、他の OS 上で 390px となっています。これまでモバイルサイトをテストするためにウィンドウをリサイズしていた場合は、便利な レスポンシブデザインビュー で代用できます。この最小幅はポップアップウィンドウには適用されないため、コンテンツの表示には影響しないはずです。

このリビジョンのソースコード

<p>{{ draft() }}</p>
<p>Firefox&nbsp;29 の <a href="http://www.mozilla.jp/firefox/preview/">Aurora</a> (プレベータ版) が <time datetime="2014-02-07">2014 年 2 月 7 日</time> にリリースされました。可能な限り互換性を維持しつつ開発されましたが、他のブラウザとの相互運用性や最新 Web 標準仕様への準拠のため、後方互換性に関わる変更も含まれます。そのような変更点をまとめましたので、サイトやアプリケーションの動作検証時にご活用ください。</p>
<p>ここでは <strong>Web サイトの後方互換性に影響し得る変更のみ解説します</strong>。その他の新機能や変更点については以下のドキュメントをご覧ください。</p>
<ul>
 <li><a href="http://www.mozilla.org/en-US/firefox/29.0a2/auroranotes/">Firefox&nbsp;29 Aurora Release Notes</a></li>
 <li><a href="/ja/docs/Mozilla/Firefox/Releases/29">Firefox&nbsp;29 for developers</a></li>
</ul>
<p>この一覧は <time datetime="2014-04-29">2014 年 4 月 29 日</time> の最終版リリースまでに更新される可能性がありますので、後日またチェックしてください。今後の更新について知りたければ、Twitter で <a href="https://twitter.com/MozWebCompat">@MozWebCompat</a> をフォローしてください。</p>
<section id="sect1">
 <h2 id="HTML" name="HTML">HTML</h2>
 <section id="sect2">
  <h3 id="Obsolete_features_have_been_dropped_from_&lt;pre&gt;" name="Obsolete_features_have_been_dropped_from_&lt;pre&gt;"><code>&lt;pre&gt;</code> から古い機能が削除されました</h3>
  <ul>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=949879">Bug&nbsp;949879 – Drop support for &lt;pre cols&gt;</a></li>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=950737">Bug&nbsp;950737 – Remove layout effect from &lt;pre width&gt;</a></li>
  </ul>
  <p>Firefox は {{ HTMLElement("pre") }} 要素の <code>cols</code>、<code>width</code> 両属性に対応しなくなりました。前者は Netscape Navigator 由来の非標準の拡張仕様でした。後者は HTML4 の仕様に含まれていましたが、<a href="/ja/docs/Web/Guide/HTML/HTML5">HTML5</a> から削除されました。</p>
 </section>
</section>
<section id="sect3">
 <h2 id="CSS" name="CSS">CSS</h2>
 <section id="sect4">
  <h3 id="box-sizing_has_been_unprefixed" name="box-sizing_has_been_unprefixed"><code>box-sizing</code> の接頭辞が外れました</h3>
  <ul>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=243412">Bug&nbsp;243412 – Implement 'box-sizing' (dropping the -moz- prefix)</a></li>
  </ul>
  <p>{{ cssxref("box-sizing") }} プロパティの接頭辞が外れました。<code>-moz-box-sizing</code> は一定期間残されますが、開発者は接頭辞なしのプロパティを代わりに使うことが推奨されます。</p>
 </section>
</section>
<section id="sect5">
 <h2 id="DOM" name="DOM">DOM</h2>
 <section id="sect6">
  <h3 id="cloneNode_and_importNode_has_defaulted_to_shallow_clones" name="cloneNode_and_importNode_has_defaulted_to_shallow_clones"><code>cloneNode</code> と <code>importNode</code> の既定動作が浅い複製になりました</h3>
  <ul>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=937461">Bug&nbsp;937461 – Make cloneNode/importNode with the "deep" arg not passed default to shallow cloning</a></li>
  </ul>
  <p>{{ domxref("Node.cloneNode") }}、{{ domxref("document.importNode") }} 両メソッドは真偽値の <code>deep</code> 引数を取ります。これは DOM4 の仕様ではオプションであり、省略された場合、これらのメソッドは <code>deep</code> の値が <code>true</code> であるとみなします。しかしこの挙動が最新の仕様で変更され、省略された場合、この値が <code>false</code> であるとみなされるようになりました。 つまり、深い複製に代わって浅い複製が既定動作になったということです。<a href="/ja/Firefox/Releases/28/Site_Compatibility">Firefox&nbsp;28</a> は、前方互換性のためこの引数を省略しないようコンソールを通じて開発者に警告を出していました。</p>
 </section>
 <section id="sect7">
  <h3 id="navigator.plugins_is_no_longer_enumerable" name="navigator.plugins_is_no_longer_enumerable"><code>navigator.plugins</code> が列挙できなくなりました</h3>
  <ul>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=757726">Bug&nbsp;757726 – disallow enumeration of navigator.plugins</a></li>
  </ul>
  <p>{{ domxref("window.navigator.plugins") }} プロパティによって返される {{ domxref("PluginArray") }} インタフェースが制限され、列挙してもインストールされているすべてのプラグインの名前が返らなくなりました。この変更は特定のフィンガープリンティング技術の有効性を低減することでユーザのプライバシーを向上させることを目的としています。これによってプラグインが無効化されるわけではなく、一部のプラグインの名前が列挙できなくなっただけです。ブラウザプラグインの存在を確認する必要がある Web サイトは、すべてのプラグインや MIME タイプ名を列挙する代わりに、正確な名前で <code>navigator.plugins</code> もしくは {{ domxref("window.navigator.mimeTypes") }} を参照してください。 この変更は元々 <a href="/ja/Firefox/Releases/28">Firefox&nbsp;28</a> で予定されていました。Mozilla は <a href="https://bugzilla.mozilla.org/showdependencytree.cgi?id=934107">影響を受けるいくつかのサイト</a> を把握しています。</p>
 </section>
 <section id="sect8">
  <h3 id="HTMLIFrameElement.sandbox_now_returns_DOMSettableTokenList" name="HTMLIFrameElement.sandbox_now_returns_DOMSettableTokenList"><code>HTMLIFrameElement.sandbox</code> は <code>DOMSettableTokenList</code> を返すようになりました</h3>
  <ul>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=845057">Bug&nbsp;845057 – Fix the type of HTMLIFrameElement.sandbox</a></li>
  </ul>
  <p>従来、{{ domxref("HTMLIFrameElement") }} インタフェース ({{ HTMLElement("iframe") }} 要素) の <code>sandbox</code> プロパティは <code>allow-same-origin</code> のような文字列値を返していました。最新の仕様に合わせ、この型が {{ domxref("DOMSettableTokenList") }} に変更されました。<code>sandbox.value</code> が従来と同じ文字列表現を返します。</p>
 </section>
 <section id="sect9">
  <h3 id="window._content.2C_pkcs11_and_LoadStatus_have_been_removed" name="window._content.2C_pkcs11_and_LoadStatus_have_been_removed"><code>window._content</code>、<code>pkcs11</code>、<code>LoadStatus</code> が削除されました</h3>
  <ul>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=946564">Bug&nbsp;946564 – Make window._content chromeonly</a></li>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=964964">Bug&nbsp;964964 – Try to remove window.pkcs11</a></li>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=949292">Bug&nbsp;949292 – Stop exposing LoadStatus on the global object</a></li>
  </ul>
  <p>グローバルオブジェクトを標準化する現在進行中の取り組みの一環として、{{ domxref("window") }} からいくつかのプロパティが削除されました。<code>_content</code> プロパティは {{ domxref("window.content") }} と重複しており、Web コンテンツから使用できなくなりました。{{ domxref("window.pkcs11") }} はセキュリティ上の理由から Firefox&nbsp;3.0.14 以降 <code>null</code> を返していました。非標準の <code>LoadStatus</code> インタフェースも <code>window</code> 上で参照できなくなりました。</p>
 </section>
 <section id="sect10">
  <h3 id="Attr.ownerElement_has_been_removed" name="Attr.ownerElement_has_been_removed"><code>Attr.ownerElement</code> が削除されました</h3>
  <ul>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=957431">Bug&nbsp;957431 – Remove Attr.ownerElement</a></li>
  </ul>
  <p>{{ domxref("Attr") }} インタフェースの <code>ownerElement</code> プロパティは、Firefox&nbsp;7 で廃止予定となり、Firefox&nbsp;29 で削除されました。</p>
 </section>
</section>
<section id="sect11">
 <h2 id="JavaScript" name="JavaScript">JavaScript</h2>
 <section id="sect12">
  <h3 id="Generator_now_returns_IteratorResult_instead_of_throwing" name="Generator_now_returns_IteratorResult_instead_of_throwing">ジェネレータが例外を投げる代わりに <code>IteratorResult</code> を返すようになりました</h3>
  <ul>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=958951">Bug&nbsp;958951 – Return IteratorResult object for completed generators instead of throwing</a></li>
  </ul>
  <p>ECMAScript&nbsp;6 準拠の <a href="http://wiki.ecmascript.org/doku.php?id=harmony:generators">ジェネレータ (yield)</a> 構文が <a href="/ja/Firefox/Releases/26">Firefox&nbsp;26</a> で導入されました。この実装が最新仕様に合わせて更新され、完了したジェネレータ式が <a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/TypeError"><code>TypeError</code></a> を投げる代わりに <code>{ value: undefined, done: true }</code> のような <code>IteratorResult</code> オブジェクトを返すようになりました。 この挙動は <a href="/ja/Firefox/Releases/27/Site_Compatibility">Firefox&nbsp;27</a> で実装が更新された <a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/Array"><code>Array</code></a>、<a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/Map"><code>Map</code></a>、<a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/Set"><code>Set</code></a> インタフェースのイテレータと一致します。</p>
 </section>
</section>
<section id="sect13">
 <h2 id="WebGL" name="WebGL">WebGL</h2>
 <section id="sect14">
  <h3 id="moz-webgl_context_requests_are_no_longer_supported" name="moz-webgl_context_requests_are_no_longer_supported"><code>moz-webgl</code> コンテキストリクエストが廃止されました</h3>
  <ul>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=913597">Bug&nbsp;913597 – Remove support for 'moz-webgl' context requests</a></li>
  </ul>
  <p><a href="/ja/docs/HTML/Canvas">Canvas</a> から古い <code>moz-webgl</code> の名前を使って <a href="/ja/docs/Web/WebGL">WebGL</a> コンテキストを取得する方法は対応が打ち切られました。<a href="/ja/docs/Web/WebGL/Getting_started_with_WebGL#Creating_a_WebGL.C2.A0context">Getting started with WebGL</a> で説明されているように、標準の <code>webgl</code> コンテキストを使ってください。</p>
 </section>
</section>
<section id="sect16">
 <h2 id="Miscellaneous" name="Miscellaneous">その他</h2>
 <section id="sect17">
  <h3 id="A_minimum_width_has_been_set_for_the_browser_window" name="A_minimum_width_has_been_set_for_the_browser_window">ブラウザウィンドウの最小幅が設定されました</h3>
  <ul>
   <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=897160">Bug&nbsp;897160 – Set a minimum width for the Firefox window</a></li>
  </ul>
  <p>Firefox&nbsp;29 で導入された新しい <a href="https://blog.mozilla.org/ux/2013/11/australis-is-landing-in-firefox-nightly/">Australis テーマ</a> で UI が欠けてしまう潜在的な問題を防ぐため、Firefox のデスクトップブラウザウィンドウに最小幅が設定されました。このサイズは OS&nbsp;X 上で <code>425px</code>、他の OS 上で <code>390px</code> となっています。これまでモバイルサイトをテストするためにウィンドウをリサイズしていた場合は、便利な <a href="/ja/docs/Tools/Responsive_Design_View">レスポンシブデザインビュー</a> で代用できます。この最小幅はポップアップウィンドウには適用されないため、コンテンツの表示には影響しないはずです。</p>
 </section>
</section>
このリビジョンへ戻す