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 八进制转义字符(8进制)
Apr 08 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
Sep 19 Javascript
使用jquery动态加载Js文件和Css文件
Oct 24 Javascript
AngularJS 输入验证详解及实例代码
Jul 28 Javascript
一个仿微博登陆邮箱提示框js开发案例
Jul 28 Javascript
JavaScript中splice与slice的区别
May 09 Javascript
JS中cookie的使用及缺点讲解
May 13 Javascript
Vue非父子组件通信详解
Jun 12 Javascript
基于vue 动态加载图片src的解决方法
Feb 05 Javascript
vue单个组件实现无限层级多选菜单功能
Apr 10 Javascript
vue-列表下详情的展开与折叠案例
Jul 28 Javascript
three.js 制作动态二维码的示例代码
Jul 31 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
php cookie的操作实现代码(登录)
2010/12/29 PHP
PHP的SQL注入过程分析
2012/01/06 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
2017/02/22 Javascript
分享十三个最佳JavaScript数据网格库
2017/04/07 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
python基于opencv 实现图像时钟
2021/01/04 Python
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
诗普兰迪官方网站:Splendid
2018/09/18 全球购物
String和StringBuffer的区别
2015/08/13 面试题
个人自荐书
2013/12/20 职场文书
银行服务感言
2014/03/01 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
开学典礼致辞
2015/07/29 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书