0

Google Chromeフレーム(GCF)がインストールされ、有効になっているかどうかを確認するにはどうすればよいですか?javascriptまたはcssタイプのソリューションは大歓迎です。(他のフレームワークやダウンロードの使用に対する厳格なノーブロートポリシー。)

HTML 5機能を使用するWebサイトを構築していますが、そのすべてがMicrosoft Internet Explorer <v10(少なくとも)でサポートされているわけではありません。MSIE 9以前のチェック(javascript)がありますが、GCFがインストールされている場合、これだけでは問題が発生します。GCFがインストールされて有効になっている場合、アプリケーションはMSIEで実行されているという事実を気にせずに順調に進むはずです。

私はグーグルをしていて、navigation.plugins()が解決策を提供するように見えますが、GCFを具体的にチェックするための詳細情報が必要です。使い方はまだわかりません。上で示唆したように、私はnavigation.plugins()への回答を制限していません。私はそれが私が自分で得た限りだと言っているだけです。したがって、この特定のプラグインを参照する方法を知っている場合、それは可能な解決策です。

4

3 に答える 3

2

おそらく、ブラウザのスニッフィングではなく、ブラウザ機能の検出を使用することを検討する必要があります。この方法では、IEであるかどうかに関係なく、ブラウザがアプリの必要な機能をサポートしているかどうかを判断できます。

これらのユーザーを完全にブロックするのではなく、これをさらに進めて、これらの機能に依存するアプリの部分を非表示にするか、適切なフォールバックを提供することができます(または一部の人は主張するはずです)。

于 2013-02-03T12:34:29.247 に答える
1

GCFが機能しているかどうかを確認する方法は、ユーザーエージェントを調べることです。「chromeframe」トークンが含まれている場合は、インストールされて有効になっています。これで、一部のソフトウェアがchrome frame BHOを無効にした場合、次のスクリプトでインストールされているかどうかがわかります。

function IsGCFInstalled() {

      try {

        var i = new ActiveXObject('ChromeTab.ChromeFrame');
        if (i) {
          return true;
        }
      } catch(e) {
        log('ChromeFrame not available, error:', e.message);
        // squelch
      }

      return false;

}
于 2013-06-14T07:32:54.127 に答える
0

後で自分のテストをスケジュールする必要がありますが、現在は。質問の下のコメントで、WaleedKhanの回答を確認したようです。ユーザーエージェントは、「chromeframe」という用語を含む文字列を返します。それは私が必要としているものにぴったりのようです。ブラウザがMSIE<10であるかどうかを確認するだけでよく、すでに確認済みです。高速である必要があり(私は推測します)、必要なすべてのベースをカバーしているようです。

于 2013-02-03T18:30:46.650 に答える