1

使用時...

<!--[if lte IE 8]> <html class="ie8-7-6"> <![endif]-->
.ie8-7-6 .loginForm {display:none;} /* The login form is hidden. */

.ie8-7-6 .yourbrowserisold {display:block;} /* and some nice graphics 
appear to indicate it doesn't support IE6, 7, or 8. */

これは非常にうまく機能するので、Chrome Frame をダウンロードするためのリンクを提供します。

しかし、今、Chrome Frame がインストールされている場合は、反対のことをしたいと思います。

<!--[if CF]><html class="chrome-frame><![endif]--> 
.chrome-frame .yourbrowserisold {display:none;}
.chrome-frame .loginForm {display:block;}

しかし

<!--[if CF]><html class="chrome-frame><![endif]--> 

機能せず、ログイン フォームを表示する必要があります。

数十のウェブサイトをグーグル検索しましたが、答えが見つからない場合...

a. 条件付きでも可能ですか?

b. それともjavascriptでのみ可能ですか?

何か助けはありますか?

-----更新---------- Google Frame がインストールされているかどうかを検出するスクリプトを次に示します。

$(document).ready(function() {
     if( $.browser.chromeframe != window.externalHost) {alert("You are using chrome frame. You rock!"); } 
else { alert("You are not using chrome frame."); }
});

参考までに、上記のスクリプトに独自の jQuery を追加して、Chrome Frame ユーザーをターゲットにすることができます。

----- デモ: https://dev.clientwhys.com/index-dummy-ie.iml

4

1 に答える 1

2

IE 内の Chrome Frame にいることを検出する最良の方法は、

var isChromeFrame = !!window.externalHost;

これは Chrome Frame 内でのみ使用できます。現在、Chrome Frame には条件付きのコメントのような構造はありません。

詳しくはhttp://www.chromium.org/developers/how-tos/chrome-frame-getting-started/understanding-chrome-frame-user-agentをご覧ください。

しかし、あなたの状況では、ユーザーが Chrome Frame を既にインストールしていて、chrome=1フラグを介してそれをトリガーしている場合、IE の条件付きコメント内にコンテンツが表示されることはありません。

于 2012-08-13T04:44:37.933 に答える