Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址


Posted in Javascript onMay 21, 2019

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

Javascript 相关文章推荐
浅谈javascript 面向对象编程
Oct 28 Javascript
Document:getElementsByName()使用方法及示例
Oct 28 Javascript
jquery遍历json对象集合详解
May 18 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
Nov 18 Javascript
80%应聘者都不及格的JS面试题
Mar 21 Javascript
JS实现数组按升序及降序排列的方法
Apr 26 Javascript
jquery实现提示语淡入效果
May 05 jQuery
详解webpack 多页面/入口支持&公共组件单独打包
Jun 29 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
Aug 18 Javascript
VSCode配置react开发环境的步骤
Dec 27 Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
Mar 12 Javascript
vue中将html字符串转换成html后遇到的问题小结
Dec 10 Javascript
taro开发微信小程序的实践
May 21 #Javascript
element-ui表格合并span-method的实现方法
May 21 #Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
May 21 #Javascript
浅谈React Native 传参的几种方式(小结)
May 21 #Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
May 21 #Javascript
JS判断数组里是否有重复元素的方法小结
May 21 #Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
May 21 #Javascript
You might like
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
PHP图片验证码制作实现分享(全)
2012/05/10 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
inner join 内联与left join 左联的实例代码
2017/09/18 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
2017/09/26 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
vue npm install 安装某个指定的版本操作
2020/08/11 Javascript
python虚拟环境virualenv的安装与使用
2016/12/18 Python
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
python dataframe NaN处理方式
2019/12/26 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
python装饰器代码深入讲解
2021/03/01 Python
美国宠物商店:Wag.com
2016/10/25 全球购物
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
J2EE中的容器都包括哪些
2013/08/21 面试题
会计专业毕业生自荐信范文
2013/12/20 职场文书
保安的辞职报告怎么写
2014/01/20 职场文书
战略合作协议书范本
2014/04/18 职场文书
护士求职信范文
2014/05/24 职场文书
学习普通话的体会
2014/11/07 职场文书
小学国庆节活动总结
2015/03/23 职场文书
win10下go mod配置方式
2021/04/25 Golang
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android