Googleは、Google Chrome Frameと呼ばれるInternet Explorerプラグインをリリースした。このプラグインは、IE上でCromeによるレンダリングを可能にする。これは、GoogleによってサポートされたHTML5エレメントをマイクロソフトのInternet ExplorerでGoogleのレンダリングエンジンを使用してレンダリングすることができることを意味する。
Google Chrome Frameは、Waveの準備をするためのオープンソースプロジェクトである。Waveは、HTML 5の機能を使用しようとしているが、Internet ExplorerがHTML 5をサポートしない場合、Waveが広く採用されることはないだろう。これを回避するために、Googleは、Internet ExplorerでIEのレンダリングエンジンを完全に迂回するプラグインを作成した。IEでページが早く読み込まれるだけでなく、GoogleがサポートするすべてのHTML 5エレメントがIE上できちんと動作する。
Google WaveチームのマネージャであるLars Rasmussen氏は、なぜ、Chrome Frameが作られたのかで、こう説明する。
Google Waveは、ブラウザ上でデスクトップのような体験を提供するために、強力なJSとDOMレンダリングの性能に依存しています。HTML5のオフラインストレージとWebワーカーは、性能の妥協が必要なく、すばらしい機能を追加するでしょう。残念ながら、Webユーザーの多数を占めているInternet Explorerは、Webテクノロジの最新の開発を維持できていません。他のブラウザと比較すると、JavaScriptのパフォーマンスは、たいていの場合、遅くHTML5のサポートは、いまだ出遅れています。Likewise氏は、多くの異なるバージョンのIEがいまだ使われています。(それぞれがCSS Quirksとレイアウトの制限を持っている)。リッチなアプリケーション構築をさらに困難にしています。
過去にGoogle Waveチームは、Internet ExplorerでGoogle Waveのエクスペリエンスを向上させるために数え切れないほどの時間を費やしました。私たちはこれを続けることもできますが、代わりにGoogle Chrome Frameを使ってもらうことでInternet Explorerユーザを置き去りにすることなく、私たちは新しい機能の開発に時間を費やすことができます。
このテストを行うためには、最初にIEプラグインインストールをする必要がある。そうすると、URLの頭に"cf"をつけることでIEで読まれるあらゆるページをChromeのエンジンでレンダリングするようになる。たとえば、このページはHTML 5のビデオを含む:cf:http://camendesign.com/code/video_for_everybody/test.html.
“cf:”をつけることは、この機能を使うための迅速な方法だ。しかし、本来の使い方はHTMLに以下のように明示的にmetaタグを使うことである。
<meta http-equiv="X-UA-Compatible" content="chrome=1">
Chrome Frameプラグインを持つIEが、このタグに出会うと、Chromeのエンジンを使い始める。Googleは、Chrome Frameがインストールされているかどうかをテストするスクリプトを用意している。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"> </script> <div id="placeholder"></div> <script> CFInstall.check({ node: "placeholder", destination: "http://www.waikiki.com" }); </script>
以下のレジストリキーで、IEで常にChrome Frameを使うように強制することができる。
HKCU Software Google ChromeFrame OptInUrls *google.com* [値の名前は、文字列でパターン一致であり、割り当てられた値は使われていない。] *yahoo.com/mail* [シンプルなパターン。正規表現ではない。] * ['*'の意味は、常に読み込む]
Chromeのデバッグツールとロギングも、Chrome Frameで用意されている。Chrome Frame は、Windows XPとVistaのIE 6, 7, 8でのみ使用できる。それ以外のブラウザ・バージョンが、影響を受けることはない。プラグインは開発者を対象にしており、プレリリースでありベータですらない。
これは、HTML 5アプリケーションをすべてのメジャーなブラウザで実行する仕組みではない。ユーザーはいまでも、IEでこれらを実行するプラグインを望んでいる。しかし、Googleは、明らかにマイクロソフトがHTML 5の採用と改良のスピードを上げることを強いている。現在IEを使っている人が、スピードの向上と、Waveのように今後出てくるHTML 5アプリケーションの利益を得ることができるようにだろう。