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兼容问题解决办法
Dec 31 Javascript
浅析JS中document对象的一些重要属性
Mar 06 Javascript
JS实现网页表格自动变大缩小的方法
Mar 09 Javascript
JavaScript事件委托实例分析
May 26 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
Dec 24 Javascript
javascript图片延迟加载实现方法及思路
Dec 31 Javascript
微信小程序开发之Tabbar实例详解
Jan 09 Javascript
Bootstrap3下拉菜单的实现
Feb 22 Javascript
JS判断两个对象内容是否相等的方法示例
Apr 10 Javascript
webuploader分片上传的实现代码(前后端分离)
Sep 10 Javascript
使用NestJS开发Node.js应用的方法
Dec 03 Javascript
纯js实现无缝滚动功能代码实例
Feb 21 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
php之CodeIgniter学习笔记
2013/06/17 PHP
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
php生成短网址示例
2014/05/05 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
用JavaScript脚本实现Web页面信息交互
2006/10/11 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
jQuery短信验证倒计时功能实现方法详解
2016/05/25 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
JS基于for语句编写的九九乘法表示例
2018/01/04 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
说说Vuex的getters属性的具体用法
2019/04/15 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
vue实现拖拽效果
2019/12/23 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
[01:32:22]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第一场 2月5日
2021/03/11 DOTA
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
Python列表list排列组合操作示例
2018/12/18 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
2020/06/01 Python
2014年道德讲堂实施方案
2014/03/05 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
女儿满月酒致辞
2015/07/29 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python