最近在脚本中通过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不同。这对于使用命令运行批处理文件或使用其他帐户运行任务调度程序非常重要。
在注册表中查看
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
如对本文有疑问, 点击进行留言回复!!
网友评论