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中用于生成随机数的Math.random()方法
Jun 15 Javascript
JS模拟Dialog弹出浮动框效果代码
Oct 16 Javascript
javascript实现密码验证
Nov 10 Javascript
AngularJs  Understanding Angular Templates
Sep 02 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
Oct 05 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
Dec 14 Javascript
Vue.js学习之计算属性
Jan 22 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
Feb 09 Javascript
ES6 Iterator接口和for...of循环用法分析
Jul 31 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
Sep 02 Javascript
JavaScript canvas实现文字时钟
Jan 10 Javascript
微信小程序实现轮播图指示器
Jun 25 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 session 检测和注销
2009/03/16 PHP
php SQL之where语句生成器
2009/03/24 PHP
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
2013/06/23 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
2018/05/21 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
2016/09/09 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
checkbox在vue中的用法小结
2018/11/13 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
[06:07]刀塔密之二:攻之吾命受之吾幸
2014/07/03 DOTA
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
Python 的 with 语句详解
2014/06/13 Python
Python解决八皇后问题示例
2018/04/22 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
获取django框架orm query执行的sql语句实现方法分析
2019/06/20 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
工业学校毕业生自荐书
2014/01/03 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
职工宿舍管理制度
2015/08/05 职场文书