需要vbscript才能在Chrome浏览器中的网页中打开URL链接而不是IE

时间:2016-03-03 17:05:32

标签: google-chrome vbscript

在我的工作地点,我们使用IE11和Chrome。我们有一系列Flash文件(通过Xelsius Crystal Dashboard创建)嵌入到访问外部XML数据源的HTM页面中,我们只能使用HTA应用程序来解决adobe安全限制。

我们在这些网页上提供的其他一些链接指向Google云端硬盘文档 目前他们在点击时总是在IE中打开。麻烦的是,在我的组织中,IE无法与Google云端硬盘一起使用,因此我们希望在Chrome中打开这些链接 - 这可以与Google文档一起使用

要求人们将默认浏览器更改为Chrome并不起作用,因为HTA应用程序始终在IE中打开,因此点击的任何后续链接也会在IE中打开。

我被告知可以使用" Shell"强制使用vbscript强制链接使用Chrome。命令后跟" Chrome的路径"和#34;要打开的网址"。

对于我们的htm页面上的任何导航按钮或链接,将使用onclick()事件调用该vbscript(例如 onclick =" openURLinChrome(' link-to-open')" etc)

我已经搜索了几天寻找创建此脚本的方法无济于事,所以我已经加入这里寻求帮助。这里有一些我认为可能有帮助的主题,但它们并不适用于我的问题。

有人可以建议解决方案吗?

非常感谢

3 个答案:

答案 0 :(得分:8)

关键是获取Chrome.Exe的路径,该路径可以位于驱动器上的多个位置之一。幸运的是,它存储在注册表中;所以需要从VB脚本中读取注册表。然后只需用URL调用它。由于路径中可能包含空格,因此需要用引号括起来。

将以下内容复制到记事本中,保存为OpenChrome.vbs并在Windows资源管理器中双击它。

function readFromRegistry (strRegistryKey, strDefault)
    Dim WSHShell, value



    On Error Resume Next
    Set WSHShell = CreateObject ("WScript.Shell")
    value = WSHShell.RegRead (strRegistryKey)

    if err.number <> 0 then
        readFromRegistry= strDefault
    else
        readFromRegistry=value
    end if

    set WSHShell = nothing
end function

function OpenWithChrome(strURL)
    Dim strChrome
    Dim WShellChrome



    strChrome = readFromRegistry ( "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe\Path", "") 
    if (strChrome = "") then
        strChrome = "chrome.exe"
    else
        strChrome = strChrome & "\chrome.exe"
    end if
    Set WShellChrome = CreateObject("WScript.Shell")
    strChrome = """" & strChrome & """" & " " & strURL
    WShellChrome.Run strChrome, 1, false
end function

OpenWithChrome "http://www.microsoft.com"

答案 1 :(得分:2)

siteA = "https://google.com"
siteB = "https://bing.com"
siteC = "https://yahoo.com"
Const OneSecond = 1000 
Set browobj = CreateObject("Wscript.Shell")
browobj.Run "chrome -url "&siteA
WScript.Sleep OneSecond*20
browobj.Run "chrome -url "&siteB
WScript.Sleep OneSecond*6
browobj.Run "chrome -url "&siteC
WScript.Sleep OneSecond*6
Set browobj = Nothing

答案 2 :(得分:0)

像这样。

Sub openURLinChrome(strLink)
     Set wshShell = CreateObject("WScript.Shell")
     strChromePath = "C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe"
         wshShell.Run strChromePath & " -url " & strLink, 1, false
End Sub