I have a page that prompts for a Google Chrome Frame installation if the user uses an outdated browser.
It works great if the user chooses to install the plugin. But, if he/she choose not to install it and closed the layer; It's impossible to open the layer again using the same button. (Basically it works only once.)
Is there any way I can force Google Chrome Frame to open every time I click on install?
(I've tried forcing a cookie, but doesn't seem to work.)
update [#1]:
Test page here.
<!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>
update [#2]:
This seem to be a session-related problem.
When i restart the browser, the link works again once. But doesn't however when i only refresh the page.
[conclusion]
This behavior is by design. It allows an admin to check()
for GCF on every single page, without annoying the user with a prompt every time.
The accepted answer allows you to circumvent this behavior.