ユーザーが古いブラウザを使用している場合、Google Chrome Frameのインストールを求めるページがあります。
ユーザーがプラグインのインストールを選択すると、うまく機能します。ただし、インストールしないことを選択してレイヤーを閉じた場合。同じボタンを使用してレイヤーを再度開くことはできません。(基本的には1回のみ有効です。)
インストールをクリックするたびに Google Chrome Frame を強制的に開く方法はありますか?
(Cookie を強制しようとしましたが、うまくいかないようです。)
更新 [#1]:
テストページはこちら.
<!doctype html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js"></script>
<![endif]-->
</head>
<body>
<a href="#" class="dngcf">Prompt</a>
<script>
$(function(){
if( $.browser.msie && $.browser.version < 9 ){
if( navigator.userAgent.indexOf('chromeframe') < 0 ){
$('.dngcf').bind('click', function(){
//document.cookie = 'disableGCFCheck=0;path=/;';
CFInstall.check({
url: 'http://www.google.com/chromeframe/eula.html?user=true',
mode: "overlay",
destination: "http://mywebsite.com"
});
});
}else{
alert('GCF is already installed');
}
}else{
alert('You need IE 6, 7 or 8 in order to see the "bug".');
}
});
</script>
</body>
</html>
更新[#2]:
これはセッション関連の問題のようです。
ブラウザを再起動すると、リンクがもう一度機能します。ただし、ページを更新するだけの場合はそうではありません。
[結論]
この動作は仕様です。これにより、管理者はcheck()
毎回プロンプトでユーザーを煩わせることなく、すべてのページで GCF を使用できます。
受け入れられた回答により、この動作を回避できます。