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 相关文章推荐
IE和Firefox在JavaScript应用中的兼容性探讨
Apr 01 Javascript
基于JQuery的Pager分页器实现代码
Jul 17 Javascript
js 第二代身份证号码的验证机制代码
May 12 Javascript
jquery新的绑定事件机制on方法的使用方法
Apr 15 Javascript
jQuery控制TR显示隐藏的几种方法
Jun 18 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
Sep 07 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
Dec 13 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
Sep 07 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
Mar 01 Javascript
浅析vue中常见循环遍历指令的使用 v-for
Apr 18 Javascript
使用pkg打包Node.js应用的方法步骤
Oct 19 Javascript
vue3如何优雅的实现移动端登录注册模块
Mar 29 Vue.js
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
2006/10/09 PHP
PHP聊天室技术
2006/10/09 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
2010/05/31 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
javascript显示动态时间的方法汇总
2018/07/06 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
python分治法求二维数组局部峰值方法
2018/04/03 Python
Python运维之获取系统CPU信息的实现方法
2018/06/11 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
网络维护中文求职信
2014/01/03 职场文书
顶岗实习接收函
2014/01/09 职场文书
民族团结先进个人材料
2014/02/05 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
教师节晚会主持词
2015/06/30 职场文书
校运会加油稿大全
2015/07/22 职场文书
python3实现无权最短路径的方法
2021/05/12 Python
GO语言字符串处理函数之处理Strings包
2022/04/14 Golang