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 multibox 全选
Mar 22 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
Mar 28 Javascript
window.open的页面如何刷新(父页面)上层页面
Dec 28 Javascript
JS实现alert中显示换行的方法
Dec 17 Javascript
Javascript实现鼠标框选操作  不是点击选取
Apr 14 Javascript
Bootstrap每天必学之附加导航(Affix)插件
Apr 25 Javascript
Bootstrap登陆注册页面开发教程
Jul 12 Javascript
bootstarp modal框居中显示的实现代码
Feb 18 Javascript
深入理解ES6学习笔记之块级作用域绑定
Aug 19 Javascript
手写Node静态资源服务器的实现方法
Mar 20 Javascript
给localStorage设置一个过期时间的方法分享
Nov 06 Javascript
9种方法优化jQuery代码详解
Feb 04 jQuery
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的作用域
2008/03/27 PHP
PHP多个文件上传到服务器实例
2014/10/29 PHP
一个简单安全的PHP验证码类 附调用方法
2016/06/24 PHP
php利用header函数下载各种文件
2016/08/24 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
js 方法实现返回多个数据的代码
2009/04/30 Javascript
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
jquery实现图片切换代码
2016/10/13 Javascript
js 作用域和变量详解
2017/02/16 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
基于vue中keep-alive缓存问题的解决方法
2018/09/21 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
Python与Redis的连接教程
2015/04/22 Python
Python OS模块常用函数说明
2015/05/23 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
2018/10/29 Python
python把转列表为集合的方法
2019/06/28 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
python中有函数重载吗
2020/05/28 Python
澳大利亚牛仔裤商店:Just Jeans
2016/10/13 全球购物
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
毕业生大学生活自我总结
2014/01/31 职场文书
七年级政治教学反思
2014/02/03 职场文书
2014年征兵标语
2014/06/20 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
Python3 类型标注支持操作
2021/06/02 Python
分享7个 Python 实战项目练习
2022/03/03 Python