Updating web applications for Firefox 3
出典: MDC
この記事は Firefox 3 の新機能について述べています
来たる Firefox 3 では、あなたが利用したいであろう新機能と同様に、ウェブサイトやウェブアプリケーションに影響するであろう多くの変更が施されています。この記事は Firefox 3 を最大限活用するためにあなたのコンテンツを更新する作業の出発点となるでしょう。
Firefox 3 は今のところ 2008 年春リリースの予定です。
目次 |
[編集] DOM の変更
外部ドキュメントからのノードは、現在のドキュメントに挿入する前に importNode() を使ってクローン (あるいは adoptNode() を使って取り込み) するべきです。ownerDocument 問題の詳細については W3C DOM FAQ を参照してください。
Firefox では現在このルールを強制していません。Firefox 3 の開発中には強制していた時期もありましたが、このルールを強制すると多くのサイトが機能しなくなってしまうため取りやめになりました。将来的な互換性を高めるため、Web 開発者にはこのルールに従ってコードを修正することを推奨します。
[編集] HTML の変更
Firefox 3 では、frame や iframe が親のキャラクタセットを継承できてしまうセキュリティ上のバグが修正されています。これにより、場合によっては問題が起こる可能性があります。フレームが親のキャラクタセットを継承できるのは、フレームと親がともに同じサーバーから読み込まれている場合に限られます。もしあなたのページが、他のサーバーから読み込まれたフレームが同じキャラクタセットを継承することを前提に作られているなら、フレームの HTML を更新してキャラクタセットを明確に指定するべきです。
[編集] セキュリティに関する変更
[編集] クロームへのアクセス
Firefox のこれまでのバージョンでは、Web ページは chrome:// プロトコルを使ってクロームからスクリプトや画像を読み込むことが可能でした。特に、このような仕様によって、アドオンがインストールされているかどうかをサイトが判別することが可能でした。これは、ブラウザにセキュリティ機能を追加するアドオンを回避して、ユーザのセキュリティを侵害するのに利用される恐れがありました。
Firefox 3 では、Web コンテンツは chrome://browser/ および chrome://toolkit/ 以下にあるコンテンツに限ってアクセスできます。これらのファイルは Web コンテンツからアクセスされることを意図したものです。他のクロームコンテンツはすべて、Web からのアクセスが禁止されます。
ただし、拡張機能が、内部のコンテンツを Web からアクセス可能にする方法があります。その方法とは、以下のように、chrome.manifest ファイルに特別なフラグを指定することです。
content mypackage location/ contentaccessible=yes
これは頻繁に必要となるものではありませんが、Web からのアクセスが必要な、まれなケースのために用意されています。
contentaccessible フラグが認識されない (フラグを含む行全体が無視されてしまう) ことから、アドオンを Firefox 2 と Firefox 3 の両方に対応させたい場合は、以下のように指定します。
content mypackage location/ content mypackage location/ contentaccessible=yes
[編集] ファイルアップロード用フォーム項目
Firefox のこれまでのバージョンでは、ユーザがファイルをアップロードするために送信する際、そのファイルのフルパスが Web アプリケーションに公開されてしまう場合がありました。このプライバシーの懸念は、Firefox 3 で、ファイル名のみをWeb アプリケーションに公開するよう仕様を変更することで解決されました。
[編集] JavaScript の変更
Firefox 3 は JavaScript 1.8 をサポートします。あなたの Web サイトや Web アプリケーションの更新が必要となりうる重要な変更点としては、時代遅れであり非標準の Script オブジェクトがサポートされなくなることが挙げられます。これは <script> タグではなく、標準化されることのなかった JavaScript オブジェクトのことです。どちらにしてもあなたが使用していた可能性は低いでしょうから、これが問題になることは恐らくないでしょう。
[編集] 参考
開発者のための Firefox 3, New in JavaScript 1.8, 拡張機能を Firefox 3 のためにアップデート