通过Internet Explorer启动Chrome浏览器

5
我们有一个网络应用程序,其中一些功能仅在Chrome浏览器中有效。我想通过超链接从Internet Explorer启动Google Chrome浏览器,并将Web应用程序的URL作为参数传递给它。我尝试了file:///C:/Program%20Files%20(x86)/Google/Chrome/application/chrome.exe,但它只会下载文件,我该如何向exe添加参数?
6个回答

5
默认情况下,浏览器不能启动其他程序(插件和扩展是可能的例外)。如果可以的话,想象一下一些恶意用户可能会造成的破坏。我认为对于这个问题不会有很好的答案,但是你可以创建一个.bat文件,在其中打开chrome并访问特定的URL(假设你正在使用Windows),下载该文件并在下载后单击它。在这种情况下,这里 有一个有用的答案。理论上,你也可以制作一个扩展或降低IE的安全设置以允许ActiveX控件。 这里 是部分解决方案。我曾经试图制作类似的东西,但没有什么运气,但如果你下定决心...也许有一种更简单的方法可以解决这个问题?

3

我发现自己需要自己实现这一点。看来Chrome的后续版本破坏了Adam Fowlers博客中描述的修复方法。

我联系了他,他现在更新了他的文章,提供了现在必需的注册表更改以使其正常工作。

我自己尝试了一下,它的效果很好。

Adam Fowlers 博客文章 - 如何在Google Chrome中启动URL https://www.adamfowlerit.com/2015/05/how-to-launch-a-url-in-google-chrome/

非常感谢Adam的时间!希望这有所帮助。


2

这是一个.reg文件,用于创建(在64位Windows上)一个特殊的URL协议,允许您在Chrome中打开chrome:链接:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\chrome]
@="Chrome URL Prorocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\chrome\Application]
"ApplicationIcon"="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe,0"
"ApplicationName"="Google Chrome"
"ApplicationDescription"="Access the Internet"
"ApplicationCompany"="Google LLC"

[HKEY_CLASSES_ROOT\chrome\DefaultIcon]
@="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe,0"

[HKEY_CLASSES_ROOT\chrome\shell]

[HKEY_CLASSES_ROOT\chrome\shell\open]

[HKEY_CLASSES_ROOT\chrome\shell\open\command]
@="cmd /v:on /c \"set url=%1 & set url=!url:chrome:=! & \"\"\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\"\"\" -- !url!\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ProtocolExecute\chrome]
"WarnOnOpen"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ProtocolExecute\chrome]
"WarnOnOpen"=dword:00000000

链接应该像Chrome一样:https://google.com 或 chrome:google.com。在启动Chrome之前,会删除“chrome:”部分。

0

你可以使用 URI 方案,Google 默认安装了一个,由 Adam Fowler 在这里共享:

http://www.adamfowlerit.com/2015/05/28/how-to-launch-a-url-in-google-chrome/

因此,您可以创建这样的链接(请注意 URL 前面的空格):

ChromeHTML:// www.bbc.co.uk

但是它已经损坏了!有一个与 Google 相关的错误报告,请参阅 Adam 的文章。如果您想要修复此错误,最好添加一些权重/评论。

然而,您下一步的决定取决于您是否对 Web 应用程序的部署具有一定的控制能力,因为可以使用注册表修复来修复这些错误。

有趣的是,如果您可以部署注册表修复程序,理论上您可以创建自己的 URI 方案。


0
如果您可以修改所需计算机上的IE权限,则可以使用JavaScript链接启动进程。我的程序启动一个自定义程序,该程序使用命令行开关和URL启动Chrome,或打开一个网页,指示他们需要联系IT在其计算机上安装Chrome:
javascript:(new ActiveXObject('Shell.Application')).ShellExecute('\\\\server\\path\\LaunchInChrome.exe', '-incognito --use-system-default-printer https://outlook.office365.com/owa/?realm=xxx http://webserver/MissingChrome.html');

但是你可以修改它,直接启动chrome.exe。您需要在Intranet区域中启用“初始化和脚本未标记为安全的ActiveX控件”(我不建议在任何其他区域中这样做)。


-1

你需要将参数传递给Chrome,类似于这样。

start chrome https://www.google.com/

CMD显示'chrome.exe'不是内部或外部命令,也不是可运行的程序或批处理文件。您有解决方案吗? - Ahmad Maleki
这个可以工作,谢谢。所以我建议你也更新一下你的答案。 - Ahmad Maleki

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