使用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浏览器是否安装并打开指定网址,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!