internet instalar enable como chrome active activar javascript jquery internet-explorer google-chrome-frame

instalar - enable javascript internet explorer 11



Google Chrome Frame Overlay funciona solo una vez. (1)

Tengo una página que solicita una instalación de Google Chrome Frame si el usuario utiliza un navegador desactualizado.

Funciona muy bien si el usuario decide instalar el complemento. Pero, si él / ella elige no instalarlo y cierra la capa; Es imposible volver a abrir la capa usando el mismo botón. (Básicamente funciona solo una vez.)

¿Hay alguna forma en que pueda forzar que Google Chrome Frame se abra cada vez que hago clic en instalar?
(He intentado forzar una cookie, pero no parece funcionar.)

actualizar [# 1]:

Página de prueba 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>

actualizar [# 2]:

Esto parece ser un problema relacionado con la sesión .
Cuando reinicio el navegador, el enlace vuelve a funcionar una vez. Pero no sin embargo cuando solo refresco la página.

[conclusión]

Este comportamiento es por diseño . Permite a un administrador check() GCF en cada página, sin molestar al usuario con un aviso cada vez.

La respuesta aceptada le permite eludir este comportamiento.


Tienes razón acerca de la cookie, pero molesta también establece una variable privada cuando muestra la ventana emergente, así que sin hackear la secuencia de comandos cfinstall, estamos buscando la modificación de los métodos existentes.

Esto es lo mejor que puedo conseguir. Hay un problema en el que al presionar "cancelar" y luego "cerrar" significa que la ventana emergente aún está en la segunda página cuando se abre nuevamente, pero se puede instalar desde allí, así que no creo que sea un problema tan grande. (El pedante en mí no le gusta aunque!)

<!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").on("click", function(){ if ($(".chromeFrameOverlayContent").length > 0) { $(".chromeFrameOverlayContent, .chromeFrameOverlayUnderlay").show(); } else { CFInstall.check({ url: "http://www.google.com/chromeframe/eula.html?user=true", mode: "overlay", destination: "http://mywebsite.com" }); $("#chromeFrameCloseButton").off("click").on("click", function() { $(".chromeFrameOverlayContent, .chromeFrameOverlayUnderlay").css({ display: "none" }); }); } }); } else { alert(''GCF is already installed''); } } else { alert(''You need IE 6, 7 or 8 in order to see the "bug".''); } }); </script> </body> </html>