2016-03-03 265 views
-1

在我工作的地方,我們使用IE11和Chrome。我們有一系列Flash文件(通過Xelsius Crystal Dashboard創建)嵌入到訪問外部XML數據源的HTM頁面中,我們只能通過使用HTA應用程序來解決這些問題,從而克服了Adobe的安全限制。需要vbscript才能在Chrome瀏覽器中打開網頁鏈接而不是IE

我們在這些網頁上的其他一些鏈接指向Google雲端硬盤文檔 ,並且目前它們總是在點擊時在IE中打開。麻煩的是,在我的組織中,IE瀏覽器與Google雲端硬盤不兼容,因此我們希望鏈接在Chrome中打開 - 可與Google文檔配合使用。

要求人們將其默認瀏覽器更改爲Chrome無法使用由於HTA應用程序總是在IE中打開,因此任何後續鏈接都會在IE中打開。

我聽說可以使用「Shell」命令,然後按「Chrome瀏覽器路徑」和「打開URL」,強制鏈接使用vbscript使用Chrome瀏覽器。

那的VBScript將與我們的HTM網頁任何導航按鈕或鏈接一個onclick()事件被調用(如 一的onclick =「openURLinChrome(‘鏈接式開啓’)」等)

我已經搜索了幾天尋找一種方法來創建這個腳本無濟於事,所以我已經加入到這裏尋求幫助。這裏有一些我認爲可能有用的線索,但它們並不適用於我的問題。

任何人都可以提出解決方案嗎?

非常感謝

回答

5

關鍵是獲取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" 
+0

謝謝 - 這個工程很好。 – Ged

+0

在這種情況下,您能否將其標記爲接受的答案? – MikeC

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 
+0

非常感謝你。我將在週一早上回到辦公室並試着告訴你。 – Ged

+0

謝謝 - 我試過了,但在我們的機器上Chrome的路徑必須不同,所以我得到了一個錯誤。我確實嘗試過這種做法... – Ged

+0

CreateObject(「WScript.Shell」)。運行「chrome -url」&URL,1,FALSE – Ged

0
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 
+0

儘管此代碼可能會回答問題,但提供有關如何解決問題和/或爲何解決問題的其他上下文可以提高答案的長期價值。 –

相關問題