如何使用Javascript代码强制在Chrome浏览器中打开HTML页面?

7
我们公司正在使用Google Apps,并且每个人都在他们的电脑上安装了Chrome浏览器。问题是,我们仍然需要使用IE来完成某些事情。我在我们的内部网站上有一些html文件链接到Google文档,但它在IE浏览器中打开。我需要它在Chrome浏览器中打开,这样用户每次打开文件时就不必再登录了。我只能控制html文件的设置,所以有没有办法使用Javascript强制在Chrome中打开一个窗口?
谢谢!
4个回答

6

我认为如果你正在使用IE浏览器,你可以使用ActiveX来打开特定的程序。

例如,尝试查看“new ActiveXObject”。

然而,你必须明确允许此操作,因为IE会确认是否允许执行。

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

如果您知道直接文件路径,请使用以下方式:
loadProg(path);

更具体地说,像这样:
window.onload = function(){
    loadProg("\"C:\\Program Files (x86)\\Guitar Pro 5\\GP5.exe\"");
};

我不知道 Chrome 的路径,所以我使用了其他东西代替。


1
随机的ActiveX插件通常会被安全设置所阻止或严格限制。如果是我,我会检测到这不是Chrome并提示用户打开Chrome而不要与ActiveX搞在一起。是的,如果您可以让您的ActiveX插件运行,它可以直接打开Chrome。 - jfriend00
@jfriend00 IE支持此功能,即使是IE9也是如此。它只是在执行之前提示用户。我不知道他们的用户面临什么样的安全限制,但我相信这将在对其用例进行基本测试时被注意到,因此我建议这作为答案,因为它正好满足他的要求。 - AlanFoster
IE浏览器有一个分区安全系统,通常由IT管理,以防止用户在某些情况下接受有害的ActiveX插件而自我伤害。它可能已经配置为允许此类插件工作,也可能没有。我只是提出了我的意见,我不会选择这种方式。我没有投反对票或说这不是一个答案,只是表达了我的意见,这是我被允许做的。 - jfriend00

0

检查当前浏览器是否为Chrome:

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

如果没有,提醒用户显示一条消息。

-1

您是在询问是否可以从IE窗口中的Javascript打开Chrome窗口吗?如果是,那么不,这是不可能的。浏览器中的Javascript代码运行在非常严格的沙箱内,不允许您进行任何系统调用。从IE打开Chrome窗口实际上需要在客户端计算机上执行chrome.exe。我相信您可以看到,如果授予此权限,可能会被滥用以在客户端系统上执行恶意exe文件。


他们可以使用ActiveX,就像我的答案建议的那样。 - AlanFoster

-1

我非常确定,使用JavaScript能做的最好的事情就是向用户显示一条消息,并告诉他们在Chrome中打开该文件。JavaScript没有执行像Chrome这样的外部应用程序的权限。请参考http://www.w3schools.com/js/js_browser.asp ,了解使用JavaScript检测浏览器的信息。


他们可以使用ActiveX,就像我的答案建议的那样。 - AlanFoster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接