最近在腳本中經過WScript.Shell執行命令行,實現IE打開Chrome的功能。chrome
JS代碼以下:windows
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中才能夠打開。url
CMD中 Start命令打開可執行文件的搜索路徑範圍以下:spa
當前的工做目錄。命令行
環境變量 PATH內的全部目錄路徑。code
在命令提示符窗口,鍵入set path
便可查看PATH中的全部目錄以及PATHEXT中的全部文件擴展名。blog
請注意,每一個用戶賬戶都有本身的PATH。所以,系統賬戶的PATH一般與標準用戶賬戶的PATH不一樣。這對於使用命令runas運行批處理文件或使用其餘賬戶運行任務調度程序很是重要。ip
在註冊表中查看get
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 \應用路徑cmd
以上內容參考資料:http://www.imooc.com/wenda/detail/586407