使用Windows命令行cmd可以指定浏览器打开网址。在node.js中使用start即可:
比如分别用Chrome和IE打开网址
start chrome http://www.google.cn
start iexplore http://www.google.cn
但是当用户没有安装Chrome时使用start则会报错,并会弹出错误对话框:
[Window Title]
chrome
[Content]
Windows 找不到文件 'chrome'。请确定文件名是否正确后,再试一次。
如果不想弹出对话框,则需要事先检查Chrome是否安装。
Chrome默认安装位置为:
C:\Documents and Settings\{ USERNAME }\Local Settings\Application Data\Google\Chrome\Application
我们还需要借助os获取Windows当前登录的用户名,如果没有安装Chrome的话,则用IE打开,最终代码如下:
var fs = require('fs')
var os = require('os')
var cp = require('child_process')
var path = require('path')
var open = function(url) {
var userInfo = os.userInfo()
var chromePath = path.join(userInfo.homedir, 'Local Settings\\Application Data\\Google\\Chrome\\Application\\chrome.exe')
var openByIE = function() {
cp.exec('start iexplore ' + url, function(err, stdout, stderr) {
if (err) {
console.log(err)
}
})
}
fs.stat(chromePath, function(err) {
if (err) {
openByIE()
return
}
cp.exec('start chrome2 ' + url, function(err, stdout, stderr) {
if (err) {
openByIE()
return
}
})
})
}
总结
以上所述是小编给大家介绍的Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!