【问题标题】:Launch Chrome browser from Internet Explorer从 Internet Explorer 启动 Chrome 浏览器
【发布时间】:2015-08-17 03:16:25
【问题描述】:

我们有一个 Web 应用程序,它具有一些仅适用于 Chrome 的功能,我想使用 Google chrome 浏览器启动此 Web 应用程序,并将 Web 应用程序的 url 作为 Internet Explorer 通过超链接的参数。我试过了

file:///C:/Program%20Files%20(x86)/Google/Chrome/application/chrome.exe

但它会下载文件 + 我如何向 exe 添加参数。

【问题讨论】:

    标签: javascript google-chrome internet-explorer hyperlink


    【解决方案1】:

    这是一个 .reg 文件,它创建(在 64 位 Windows 上)允许您打开 chrome 的特殊 URL 协议: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 之前被删除。

    【讨论】:

      【解决方案2】:

      如果您可以修改所需 PC 上的 IE 权限,则可以使用 javascript 链接启动进程。我启动了一个自定义程序,该程序通过命令行开关和 URL 启动 chrome,或者打开一个网页,表明他们需要联系 IT 以在他们的 PC 上安装 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 控件的初始化和脚本(我不建议在任何其他区域使用此功能)。

      【讨论】:

        【解决方案3】:

        你必须将参数传递给chrome,就像这样。

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

        【讨论】:

        • CMD 说'chrome.exe' is not recognized as an internal or external command...。你有什么解决方案吗?
        • 这个工作正常,谢谢。所以我建议你也更新你的答案。
        【解决方案4】:

        我发现自己需要自己实现这一目标。似乎更高版本的 Chrome 破坏了 Adam Fowlers 博客中描述的修复。

        我与他取得了联系,他现在更新了他的帖子,提供了完成这项工作所需的现在必要的注册表更改。

        我自己试过了,效果很好。

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

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

        【讨论】:

          【解决方案5】:

          您可以使用 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 的文章。如果你想修复它,最好给这个 bug 添加一些 weight/cmets。

          但是,您的下一个决定取决于您是否对 Web 应用程序的部署有一定的控制权,因为这些错误可以通过注册表修复来修复。

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

          【讨论】:

            【解决方案6】:

            默认情况下,浏览器无法启动其他程序(插件和扩展可能是例外)。如果可以的话,想象一下一些恶意用户可能会造成的破坏。

            我认为这不会有很好的答案,但是您可以制作一个 .bat 文件,将 chrome 打开到特定的 URL(假设您使用的是 Windows),下载它并在它之后单击它下载。

            Here 在这种情况下是一个有用的答案。

            您还可以(理论上)进行扩展或降低 IE 上的安全设置以允许 ActiveX 控件。 Here's 部分解决方案。不久前我尝试制作类似的东西,但运气不佳,但如果你下定决心......

            也许有更好的方法不涉及如此复杂的解决方案?

            【讨论】:

              猜你喜欢
              • 2020-11-29
              • 2011-09-21
              • 2014-04-12
              • 1970-01-01
              • 1970-01-01
              • 2010-11-05
              • 2020-10-02
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多