From df92a0895e514c85853a895b55f2897ca2e9e4ba Mon Sep 17 00:00:00 2001
From: Masahiro FUJIMOTO 来たる Firefox 3 では、あなたが利用したいであろう新機能と同様に、ウェブサイトやウェブアプリケーションに影響するであろう多くの変更が施されています。この記事は Firefox 3 を最大限活用するためにあなたのコンテンツを更新する作業の出発点となるでしょう。 {{ 英語版章題("DOM changes") }} 来たる Firefox 3 では、あなたが利用したいであろう新機能と同様に、ウェブサイトやウェブアプリケーションに影響するであろう多くの変更が施されています。この記事は Firefox 3 を最大限活用するためにあなたのコンテンツを更新する作業の出発点となるでしょう。 外部ドキュメントからのノードは、現在のドキュメントに挿入する前に 外部ドキュメントからのノードは、現在のドキュメントに挿入する前に Firefox では現在このルールを強制していません。Firefox 3 の開発中には強制していた時期もありましたが、このルールを強制すると多くのサイトが機能しなくなってしまうため取りやめになりました。
- 将来的な互換性を高めるため、Web 開発者にはこのルールに従ってコードを修正することを推奨します。 {{ 英語版章題("HTML changes") }}DOM の変更
+DOM の変更
-document.importNode()
を使ってクローンを作る (あるいは
- document.adoptNode()
を使って取り込む) べきです。Node.ownerDocument
問題の詳細については
- W3C DOM FAQ を参照してください。document.importNode()
を使ってクローンを作る (あるいは document.adoptNode()
を使って取り込む) べきです。Node.ownerDocument
問題の詳細については W3C DOM FAQ を参照してください。
{{ 英語版章題("Changes to character set inheritance") }}
+Firefox 3 では、frame や iframe が親の文字セットを継承できてしまうセキュリティ上のバグが修正されています。これにより、場合によっては問題が起こる可能性があります。フレームが親文字タセットを継承できるのは、フレームと親がともに同じサーバーから読み込まれている場合に限られます。もしあなたのページが、他のサーバーから読み込まれたフレームが同じ文字セットを継承することを前提に作られているなら、フレームの HTML を更新して文字セットを明確に指定するべきです。
-Firefox 3 では、frame や iframe が親のキャラクタセットを継承できてしまうセキュリティ上のバグが修正されています。これにより、場合によっては問題が起こる可能性があります。フレームが親のキャラクタセットを継承できるのは、フレームと親がともに同じサーバーから読み込まれている場合に限られます。もしあなたのページが、他のサーバーから読み込まれたフレームが同じキャラクタセットを継承することを前提に作られているなら、フレームの HTML を更新してキャラクタセットを明確に指定するべきです。
+{{ 英語版章題("Change to the SCRIPT element") }}
+text/html
文書における <script>
要素は、たとえ 間に内容を含めなくても、HTML 4 文書における 閉じ タグである </script>
を必要とするようになりました。以前のバージョンの Firefox では、以下のようにすることが可能でした。:
text/html
文書における <script> 要素は、たとえ 間に内容を含めなくても、HTML 4 文書における 閉じ タグである </script> を必要とするようになりました。以前のバージョンの Firefox では、以下のようにすることが可能でした。:
<script ... /> +-- cgit v1.2.3-54-g00ecf<script ... />-今バージョンからマークアップは HTML の仕様に従わなければならず(それが実際に HTML である場合)、以下のように実際に閉じなければなりません。:
+今バージョンからマークアップは HTML の仕様に従わなければならず (それが実際に HTML である場合)、以下のように実際に閉じなければなりません。
-<script ...></script> +<script ...></script>これは互換性とセキュリティの両方を改善します。
-{{ 英語版章題("CSS changes") }}
- -CSS の変更
+CSS の変更
-{{ 英語版章題("Change to font-size based on em, ex units") }}
- -em、ex 単位に基づいた font-size に対する変更
+em、ex 単位に基づいた font-size に対する変更
em、ex 単位での font-size の値はユーザの最小フォントサイズ設定の影響を受けていました。例えば、フォントが最小フォントサイズより大きく表示されるなら、em と ex 単位で font-size を指定されたフォントは最小フォントサイズ設定に従って拡大されるでしょう。これは割合に基づいたフォントサイズの振る舞いと矛盾していました。
em 及び ex 単位での font-size の値は、ユーザの最小フォントサイズの影響を受けることなく、"意図されたフォントサイズ" に基づくようになりました。言い換えれば、フォントサイズは常にデザイナーの意図に従って計算され、その後に最小フォントサイズのための調整が行われるようになったということです。
-デモは https://bugzilla.mozilla.org/attachment.cgi?id=322943 を参照してください(違いを知るためには最小フォントサイズを 6 以上にして見る必要があります。二つの箱のカスケードは Firefox 2 では異なった振る舞いをします。なぜなら、em ベースのフォントサイズは最小フォントサイズの "影響を受ける" からです)。
- -{{ 英語版章題("Security changes") }}
- -セキュリティに関する変更
+{{Bug(434718)}}、特にその 添付ファイル 322943 をデモとしてを参照してください (違いを見るためには、最小フォントサイズ >= 6 で見る必要があります)。 (これはバグテンプレートについて言っているのではありません。このリンクは Bugzilla のバグではなく、Bugzilla の添付ファイルを指しています。添付ファイルの番号をバグ番号として使用すると、意味を成しません。) Firefox 2 では、em ベースのフォントサイズが最小フォントサイズに「跳ね返る」ため、2 つのボックスカスケードの動作が異なります)。
-{{ 英語版章題("Chrome access") }}
+セキュリティに関する変更
-クロームへのアクセス
+クロームへのアクセス
-Firefox のこれまでのバージョンでは、Web ページは
+chrome://
プロトコルを使ってクロームからスクリプトや画像を読み込むことが可能でした。特に、このような仕様によって、アドオンがインストールされているかどうかをサイトが判別することが可能でした。これは、ブラウザにセキュリティ機能を追加するアドオンを回避して、ユーザのセキュリティを侵害するのに利用される恐れがありました。Firefox のこれまでのバージョンでは、ウェブページは
-chrome://
プロトコルを使ってクロームからスクリプトや画像を読み込むことが可能でした。特に、このような仕様によって、アドオンがインストールされているかどうかをサイトが判別することが可能でした。これは、ブラウザにセキュリティ機能を追加するアドオンを回避して、ユーザのセキュリティを侵害するのに利用される恐れがありました。Firefox 3 では、Web コンテンツは
+chrome://browser/
およびchrome://toolkit/
以下にあるコンテンツに限ってアクセスできます。これらのファイルは Web コンテンツからアクセスされることを意図したものです。他のクロームコンテンツはすべて、Web からのアクセスが禁止されます。Firefox 3 では、ウェブコンテンツは
-chrome://browser/
およびchrome://toolkit/
以下にあるコンテンツに限ってアクセスできます。これらのファイルはウェブコンテンツからアクセスされることを意図したものです。他のクロームコンテンツはすべて、ウェブからのアクセスが禁止されます。ただし、拡張機能が、内部のコンテンツを Web からアクセス可能にする方法があります。その方法とは、以下のように、
+chrome.manifest
ファイルに特別なフラグを指定することです。ただし、拡張機能が、内部のコンテンツをウェブからアクセス可能にする方法があります。その方法とは、以下のように、
-chrome.manifest
ファイルに特別なフラグを指定することです。content mypackage location/ contentaccessible=yes
+content mypackage location/ contentaccessible=yes +-これは頻繁に必要となるものではありませんが、Web からのアクセスが必要な、まれなケースのために用意されています。Firefox はユーザに拡張が
+contentaccessible
フラグをこのような方法で用いることで潜在的セキュリティリスクになることを警告するかもしれないことに注意してください。これは頻繁に必要となるものではありませんが、ウェブからのアクセスが必要な、まれなケースのために用意されています。Firefox はユーザに拡張が
contentaccessible
フラグをこのような方法で用いることで潜在的セキュリティリスクになることを警告するかもしれないことに注意してください。注意: Firefox 2 では-contentaccessible
フラグが認識されない (フラグを含む行全体が無視されてしまう) ことから、アドオンを Firefox 2 と Firefox 3 の両方に対応させたい場合は、以下のように指定します。 -content mypackage location/ +content mypackage location/ content mypackage location/ contentaccessible=yes{{ 英語版章題("File upload fields") }}
+ファイルアップロードフィールド
+ +Firefox のこれまでのバージョンでは、ユーザがファイルをアップロードするために送信する際、そのファイルのフルパスがウェブアプリケーションに公開されてしまう場合がありました。このプライバシーの懸念は、Firefox 3 で、ファイル名のみをウェブアプリケーションに公開するよう仕様を変更することで解決されました。
-ファイルアップロード用フォーム項目
+フレーム内でのリモート JAR の使用
-Firefox のこれまでのバージョンでは、ユーザがファイルをアップロードするために送信する際、そのファイルのフルパスが Web アプリケーションに公開されてしまう場合がありました。このプライバシーの懸念は、Firefox 3 で、ファイル名のみをWeb アプリケーションに公開するよう仕様を変更することで解決されました。
+他のドメインから読み込んだ JAR ファイル内のコードの使用は、フレーム内では許可されなくなりました。これによって潜在的な攻撃ベクトルを軽減することができます。
-{{ 英語版章題("JavaScript changes") }}
+file: URI の同一オリジンポリシーの変更
-JavaScript の変更
+file: URI の同一オリジンポリシーが Firefox 3 で変更されました。これはコンテンツに影響する可能性があります。詳しくは file: URI の同一オリジンポリシーを参照してください。
-Firefox 3 は JavaScript 1.8 をサポートします。あなたの Web サイトや Web アプリケーションの更新が必要となりうる重要な変更点としては、時代遅れであり非標準の
+Script
オブジェクトがサポートされなくなることが挙げられます。これは<script>
タグではなく、標準化されることのなかった JavaScript オブジェクトのことです。どちらにしてもあなたが使用していた可能性は低いでしょうから、これが問題になることは恐らくないでしょう。JavaScript の変更
-{{ 英語版章題("See also") }}
+Firefox 3 は JavaScript 1.8 をサポートします。ウェブサイトやウェブアプリケーションの更新が必要となりうる重要な変更点としては、時代遅れであり非標準の
-Script
オブジェクトがサポートされなくなることが挙げられます。これは<script>
タグではなく、標準化されることのなかった JavaScript オブジェクトのことです。どちらにしても使用していた可能性は低いでしょうから、これが問題になることは恐らくないでしょう。参考
+関連情報