mozilla
Your Search Results

    Firefox 21 サイト互換性情報

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

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

    CSS

    -moz-user-select:none の挙動が -moz-user-select:-moz-none や他のブラウザに統一されました

    従来、user-select プロパティに none キーワードを指定すると、その要素と子孫要素のテキストが選択不可になり、子孫要素に -moz-user-select:text が指定されても選択可能にはなりませんでした。Firefox 21 以降、none-moz-none や他のブラウザと同じような挙動になり、子孫要素上で -moz-user-select:text を使うことでテキスト選択を再度有効化できます。

    DOM

    テーブルから colslayout 両プロパティの実装が削除されました

    Firefox は <table> 要素上で colslayout プロパティを受け入れなくなりました。他のどのブラウザもこれらの無名プロパティに対応していません。

    scrollWidthscrollHeightoverflow:visible の影響を受けなくなりました

    従来、要素に CSS overflow:visible が指定されていた場合、scrollWidthscrollHeight 両プロパティに誤った値が設定される場合がありました。overflow:hidden が指定されていた場合との値と一致するよう、この挙動が修正されました。

    window がインデックス付き独自プロパティを受け入れなくなりました

    window オブジェクト上でのインデックス付きエクスパンド (数値をプロパティ名として持つ独自プロパティ) の指定が許容されなくなりました。今後 window[2] = "myString" のようなコードは無視されます。

    window オブジェクト上のインデックス付きプロパティ (iframe など) が列挙可能になりました

    従来、DOM 内の <iframe>window オブジェクト上で列挙することはできませんでした。この挙動が仕様に準拠するよう修正され、Object.keys(window) でそれらのフレームが返されるようになりました。ドキュメントへの iframe の追加によって window オブジェクト上の列挙可能なキーが変更されることになるため、グローバルリーク判別のようなことを行っている場合、今回の変更点には注意する必要があるでしょう。

    XMLHttpRequest.setRequestHeader の実装が仕様に準拠するよう修正されました

    従来、XMLHttpRequest.setRequestHeader で同一のヘッダが繰り返し指定されていた場合、最後に指定された値が使われていました。この挙動が仕様に準拠するよう修正され、それらの値が正しく連結されるようになりました。

    formMethodformEnctype が空文字列を既定値として取るようになりました

    formMethodformEnctype 両プロパティの HTML5 仕様が更新され、空文字列を既定値として取るようになりました。Firefox はこの変更に追従しました。

    複数のルールが指定された場合に CSSStyleSheet.insertRule が例外を投げるようになりました

    複数のルールが CSSStyleSheet.insertRule メソッドに渡された場合、最初のルールだけがスタイルシートに挿入されていました。今後 Firefox は他のブラウザと同様に例外 SYNTAX_ERR を投げます。

    expandEntityReferencesNodeIteratorTreeWalker から削除されました

    実体参照ノードの子要素がオブジェクトに対して可視かどうかを示すフラグを返す expandEntityReferences プロパティが、まったく役に立っていないとして、NodeIteratorTreeWalker 両オブジェクトから削除されました。

    CSSKeyframesRule.insertRuleappendRule に改名されました

    CSSKeyframesRule インタフェースのメソッドのひとつである insertRule が、仕様変更に伴い appendRule へ改名されました。

    HTMLInputElement.inputmode が初期設定で無効化されました

    Firefox 17 以降 実装 されている HTMLInputElementinputmode API が、仕様がまだ安定していないという理由から、初期設定で無効化されました。この機能を試すには、設定 dom.forms.inputmode を有効化するか、Aurora チャンネルを使う必要があります。なお、この API は Firefox 22inputMode (大文字の M) に改名されます。

    JavaScript

    E4X 実装が完全に削除されました

    Firefox 17 以降廃止予定とされ無効化されていた ECMAScript for XML (E4X) の実装がついに削除されました。隠し設定の有無にかかわらず、今後この機能を使用することはできません。

    parseInt が 0 で始まる文字列を 8 進数でなく 10 進数としてパースするようになりました

    parseInt メソッドの実装が ECMAScript 5 仕様に準拠するよう更新され、0 で始まる文字列を 8 進数でなく 10 進数としてパースするようになりました。そのため、parseInt("042")34 の代わりに 42 を返すようになります。文字列を 8 進数としてパースしたい場合は、parseInt(str, 8) のように基数を指定してください。

    プロキシ化した配列に get トラップが必須となりました

    Proxy オブジェクトは、開発者がオブジェクトを「プロキシ化」することを可能にします。ハンドラ内のすべてのトラップはオプションですが、Firefox 21 以降、ターゲットが配列の場合、get トラップがコード内で特に必要ない場合でも常時必須となりました。これが定義されていない場合、Array.length0 を返し、set トラップも動作しません。

    引数が指定されていない場合の String.localeCompare の挙動が修正されました

    String.localeCompare メソッドの実装が、最新の ECMAScript 5 仕様に準拠するよう更新されました。引数が何も渡されなかった場合、このメソッドは文字列 "undefined" を引数として取ります。

    SVG

    未実装の SVG 機能が削除されました

    未実装の SVG 機能が、単に NOT_IMPLEMENTED エラーを返す代わりに削除されました。これらの機能には SVGSVGElementviewportcurrentView プロパティが含まれます。

    Audio/Video

    mozAudioContext の接頭辞が外れました

    mozAudioContext の実装から接頭辞が外れました。ただし、まだ 初期設定では無効 となっています。この機能を試すには、media.webaudio.enabled の設定値を true に変更してください。

    ドキュメントのタグと貢献者

    Contributors to this page: kohei.yoshino, omasanori
    最終更新者: kohei.yoshino,