2012-03-15 23 views
6

Estamos usando Google Apps en nuestra empresa y todos tienen Chrome instalado en sus computadoras. El problema es que todavía tenemos que usar IE para ciertas cosas. Tengo algunos archivos html en nuestro sitio de intranet que se vinculan a Google Docs, pero se está abriendo en un navegador IE. Necesito que abra un navegador Chrome para que el usuario no tenga que iniciar sesión cada vez que abre el archivo. Solo tengo el control de la configuración de los archivos html. ¿Hay alguna forma de usar Javascript para forzar que una ventana se abra en Chrome?Código de Javascript para forzar que la página html se abra en el navegador Chrome?

Gracias!

Respuesta

-1

¿Estás preguntando si puedes abrir una ventana de Chrome desde Javascript en una ventana de IE? Si es así, entonces no, esto no es posible. El código Javascript en los navegadores se ejecuta dentro de un entorno limitado muy estricto que no le permite hacer ninguna llamada al sistema. Abrir una ventana de Chrome desde IE requeriría efectivamente que ejecutes chrome.exe en la máquina del cliente. Estoy seguro de que puede ver cómo esta capacidad, si se concede, podría utilizarse mal para ejecutar exe maliciosos en el sistema del cliente.

+0

En su lugar, pueden usar ActiveX, como mi respuesta sugiere. – AlanFoster

-1

Comprobar si el navegador actual es de cromo:

var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; 

si no, que alertan al usuario mostrar un mensaje.

-1

Estoy bastante seguro de que lo mejor que puede hacer con JavaScript es mostrarle un mensaje al usuario y decirles que abra el archivo en Chrome. JavaScript no tiene el derecho de ejecutar una aplicación externa como Chrome. Consulte http://www.w3schools.com/js/js_browser.asp para obtener información sobre cómo detectar el navegador usando JavaScript.

+0

En su lugar, pueden usar ActiveX, como mi respuesta sugiere. – AlanFoster

4

Creo que si está utilizando IE puede usar ActiveX para abrir programas específicos.

Por ejemplo intente buscar en 'nuevo ActiveXObject'

Debe permitir explícitamente sin embargo, esto confirma que IE si desea permitir que sea ejecutado.

function loadProg(path){ 
    var active = new ActiveXObject("WScript.Shell"); 
    activeX = active.Run(path); 
} 

Si conoce el uso directo de ruta de archivo como este

loadProg(path); 

Más específicamente, como

window.onload = function(){ 
    loadProg("\"C:\\Program Files (x86)\\Guitar Pro 5\\GP5.exe\""); 
}; 

no sé el camino a Chrome, así que utiliza alguna otra cosa en su lugar.

+1

Los complementos de ActiveX aleatorio a menudo están bloqueados o severamente limitados por la configuración de seguridad. Si fuera yo, solo detectaría que esto no es Chrome y le pediría al usuario que abra Chrome y que no se meta con ActiveX. Sí, si puede ejecutar su complemento ActiveX, podría abrir Chrome directamente. – jfriend00

+0

@ jfriend00 IE admite esto, incluso IE9. Simplemente avisa al usuario antes de ejecutarlo. No sé qué tipo de restricciones de seguridad se colocan en sus usuarios, estoy seguro de que esto se notará durante una prueba básica de sus casos de uso, por lo que he sugerido esto como una respuesta, ya que hace exactamente lo que él requiere. – AlanFoster

+0

IE tiene este sistema de seguridad zonal que a menudo es administrado por TI para evitar que los usuarios se peguen un tiro en sus propios pies al aceptar plugins ActiveX dañinos en algunos casos. Puede o no estar configurado para permitir que este tipo de complemento funcione. Simplemente estoy ofreciendo mi opinión de que no iría de esta manera. No perdoné ni dije que no fuera una respuesta, solo expresé mi opinión, que estoy autorizado a hacer. – jfriend00

Cuestiones relacionadas