4

私はグラフに Google ビジュアライゼーションを使用していますが、これは IE8 ではうまく表示されず、IE6 ではまったく機能しません。

Google Chrome フレームを追加しました。ユーザーがプラグインをインストールすると、Google ビジュアライゼーションは問題なく動作します。

IE ユーザーに GFC のインストールを強制する方法はありますか? 現在はオプションです。ドキュメントを読みましたが、GFCInstall.check() 関数呼び出しを使用してこれを構成する方法はないようです。

これが私の現在のコードです:

<!--[if IE]>
    <script type="text/javascript" 
     src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>

    <style>
     .chromeFrameInstallDefaultStyle {
       border: 5px solid blue;
        top:55%;
     }
    </style>



    <script>
     // The conditional ensures that this code will only execute in IE,
     // Therefore we can use the IE-specific attachEvent without worry
     window.attachEvent("onload", function() {
       CFInstall.check({
         mode: "inline" 
       });
     });
    </script>
  <![endif]-->
4

2 に答える 2

7

機能スニッフィングを介してこれを行う方が、ほぼ確実に優れています。優れた視覚化を得るために必要な機能が<canvas>サポートであると仮定すると、特定のブラウザーではなく、それを嗅ぎ分けます。

if (!('width' in document.createElement('canvas'))) {
    document.write(
        'The visualisations on this page don\'t work well in your current browser. '+
        'Please upgrade to a modern browser such as IE9, Firefox, Opera, Safari or '+
        'Chrome, or install Chrome Frame for earlier IE versions.'
    );
}
于 2011-09-23T15:06:48.303 に答える
5

いいえ、ユーザーに強制することはできません - Google Chrome Frame FAQからの最良のオプション:

ユーザーが Google Chrome Frame をインストールしているかどうかを確認するにはどうすればよいですか?

Google Chrome Frame は「chromeframe/XXXX」トークンを User-Agent ヘッダーに追加するため、その存在を確認できます。Google Chrome Frame が存在しない場合は、プロンプトを表示するか、代替コンテンツを表示するかを選択できます。User-Agent ヘッダーの詳細については、http://www.chromium.org/developers/how-tos/chrome-frame-getting-started/understanding-chrome-frame-user-agentを参照してください。

また、Google Chrome Frame がインストールされているかどうかをテストし、インストールされていない場合はユーザーにインストールを促すために使用できる JavaScript ライブラリも提供しています。JavaScript ライブラリの使用方法とカスタマイズ方法の詳細については、http://www.chromium.org/developers/how-tos/chrome-frame-getting-startedを参照してください。

于 2011-09-23T14:41:48.863 に答える