ウェブサイトに影響のある Gecko 1.9 の変更

このページはウェブサイトの動作や描画に影響する可能性のある、Gecko 1.8 と 1.9 の間の変更を概説します。

Firefox 3 for developers』もあわせてご覧下さい。

イベント

load イベントリスナの捕捉

Gecko 1.8 では画像に対して捕捉する (capturing) load イベントリスナを設定することはできませんでした。 これは Gecko 1.9 で バグ 234455 によって修正されました。 しかしこれは load イベントに誤って捕捉イベントリスナを設定しているウェブサイトで問題をおこす可能性があります。バグ 335251 での議論を参照してください。 この問題を解決するには、問題があるかもしれないページは捕捉 load イベントリスナを設定すべきではありません。

例えば次のコードは、

window.addEventListener('load', yourFunction, true);

...このように変更すべきです。

window.addEventListener('load', yourFunction, false);

イベントキャプチャの動作に関する説明は DOM Level 2 イベントキャプチャを参照してください。

preventBubble は削除されました

Gecko 1.8 では上向きのバブルイベントを防ぐために preventBubble メソッドが存在していました。 Gecko 1.9 ではこのメソッドは削除されてました。代わりに Gecko 1.8 でも動作する標準の stopPropagation() を使うべきです。 バグ 330494 のパッチがこの変更を行いました。バグ 105280も参照してください。

他の古いイベント API のいくつかは、もうサポートされません

window.captureEventswindow.releaseEventswindow.routeEvent は、Gecko 1.9 ではもはやサポートされません。( )

DOM

WRONG_DOCUMENT_ERR

外部ドキュメントからのノードは、現在のドキュメントに挿入する前に document.importNode() を使ってクローンを作る (あるいは document.adoptNode() を使って取り込む) べきです。Node.ownerDocument 問題の詳細については W3C DOM FAQ を参照してください。

Firefox では現在このルールを強制していません。Firefox 3 の開発中には強制していた時期もありましたが、このルールを強制すると多くのサイトが機能しなくなってしまうため取りやめになりました。 将来的な互換性を高めるため、Web 開発者にはこのルールに従ってコードを修正することを推奨します。

レンジ

intersectsNode は削除されました

Gecko 1.8 では ノードがレンジを交差しているかテストするために intersectsNode 関数が使われました。しかしこの関数の戻り値は分かり難く、意義が乏しいため Gecko 1.9 で削除されました。代わりにより明確で標準の compareBoundaryPoints 関数を使ってください。バグ 358073 のパッチがこの関数を削除しました。

compareBoundaryPoints を代わりに使う方法は intersectsNode の文書を参照してください。

compareNode は削除されました

Gecko 1.8 では ノードがレンジをどのように交差しているかテストするために compareNode 関数が使われました。しかしこの関数の戻り値は分かり難く、意義が乏しいため Gecko 1.9 で削除されました。代わりにより明確で標準の compareBoundaryPoints 関数を使ってください。バグ 358073 のパッチがこの関数を削除しました。

compareBoundaryPoints を代わりに使う方法は compareNode の文書を参照してください。

HTML

<object> の多数のバグが修正されました

objectembed 要素は描画に type 属性が必要ではなくなりました。JavaScript 経由による (<embed> の) src 属性と (<object> の) data 属性の変更は正しく動くようになりました。サーバから送信されるContent-Type ヘッダは (もしあれば) HTML の仕様どおり <object> 要素の type 属性よりも優先されます (これは embed には当てはまりません)。

Document Tags and Contributors

Contributors to this page: Sheppy, Taken, ethertank, Shoot, Yoshino, Mgjbot, Okome
最終更新者: ethertank,