最近在腳本中通過WScript.Shell執行命令行,實現IE打開Chrome的功能。 JS代碼如下: 由於客戶環境中 Chrome是綠色版的,把Chrome.exe的絕對路徑放入到環境變數path後,在windows的CMD視窗中可以通過start chrome打開,但是在JS中運行如上代碼始終提 ...
最近在腳本中通過WScript.Shell執行命令行,實現IE打開Chrome的功能。
JS代碼如下:
1 var singleurl = window.location.href; 2 var isChrome = navigator.userAgent.indexOf("Chrome") > -1; 3 if(!isChrome) 4 { 5 var objShell= new ActiveXObject("WScript.Shell"); 6 objShell.Run('cmd.exe /c start chrome "'+singleurl+'"' ,1,true); 7 }
由於客戶環境中 Chrome是綠色版的,把Chrome.exe的絕對路徑放入到環境變數path後,在windows的CMD視窗中可以通過start chrome打開,但是在JS中運行如上代碼始終提示“windows找不到文件chrome,請確定文件名是否正確”。搜索了很長時間,終於找到解決方案,需要在註冊表HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ App Paths 中把chrome的路徑增加上,在JS中才可以打開。
CMD中 Start命令打開可執行文件的搜索路徑範圍如下:
-
當前的工作目錄。
-
環境變數 PATH內的所有目錄路徑。
在命令提示符視窗,鍵入
set path
即可查看PATH中的所有目錄以及PATHEXT中的所有文件擴展名。請註意,每個用戶帳戶都有自己的PATH。因此,系統帳戶的PATH通常與標準用戶帳戶的PATH不同。這對於使用命令runas運行批處理文件或使用其他帳戶運行任務調度程式非常重要。
-
在註冊表中查看
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ App Paths
HKEY_CURRENT_USER \ Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ App Paths
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ App Paths
HKEY_LOCAL_MACHINE \ Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \應用路徑
以上內容參考資料:http://www.imooc.com/wenda/detail/586407