总体思路:调用cmd命令打开chrome。
1.JAVA打开chrome指定路径(弃)
前台js:
function openChrome(){
$.ajax({
type:'post',
// 访问java打开chrome的方法
url:'http://xxxx'
})
}
调用的java代码:
public void openChrome(String url){
// 默认chrome.exe的位置
String chromePath = "D:\\software\\xxx\\chrome.exe";
// 获取环境变量中chrome的位置,若不存在,则使用默认位置
Map tempMap = System.getenv();
for(Iterator itr = tempMap.keySet().iterator(); itr.hasNext();){
String value = (String)tempMap.get((String)itr.next());
if(value.contains("chrome.exe")){
chromePath = value;
break;
}
}
try{
Runtime.getRuntime().exec(new String[]{chromePath, path});
}catch(Exception e){
}
}
该处调用的为服务器自己的cmd,所以打开的肯定是服务器的chrome。
对于WEB项目来说,是需要客户端点击链接跳转客户端电脑的chrome,这个方法肯定不可行。
JAVA打开指定浏览器的相关资料:
https://blog.csdn.net/u012843873/article/details/75213836
https://blog.csdn.net/xingbaozhen1210/article/details/81078101
2.JS打开chrome指定路径(推荐)
function openChrome(){
var url = "http://xxx";
// ActiveObject仅在IE下可创建
var objShell = new ActiveObject("WScript.Shell");
// 注意这里是/c,不可使用/k,否则资源不会释放
var cmd = "cmd.exe /c start D:\\software\\xxx\\chrome.exe " + url;
objShell.Run(cmd, 0, true);
}
注意:使用/c,不可用/k,否则资源不会释放,页面会变得很卡。
但是由于IE的安全设置,需要对IE进行配置后才可执行。请见:https://blog.csdn.net/weixin_41949786/article/details/80700898
JS可调用客户端的cmd,所以可以实现客户端点击链接跳转chrome的功能。
IE中打开其他浏览器的资料: