Node.JS在命令行中检查Chrome浏览器是否安装,并打开指定网址


发布者 ourjs  发布时间 1558333606904
关键字 编程技巧  Node.JS 
使用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 chrome ' + url, function(err, stdout, stderr) {
      if (err) {
        openByIE()
        return
      }
    })
  })
}










 热门文章 - 分享最多
  1. 配置TinyMCE网页文本编辑器不显示html head body等标签信息
  2. Node.JS中用concat和push连接两个或多个数组的性能比较
  3. jQuery用$.prop,$.attr方法来获取或设置checkbox当前选中状态
  4. 判断是否为对象typeof abc == 'object' 与 instanceof 性能比较
  5. JavaScript中将字符串true或false转换成Boolean类型
  6. jQuery用outterHtml获取相对innerHTML父一级包含其自身的html代码内容
  7. 微服务运维难维护?数据基础架构公司Segment宣布放弃微服务构架
  8. 用网页table thead tfoot元素完美控制页眉页脚显示内容打印的简单方式
  9. Node.JS在命令行中检查Chrome浏览器是否安装,并打开指定网址

 相关阅读
  1. Node.JS在命令行中检查Chrome浏览器是否安装,并打开指定网址
  2. 用网页table thead tfoot元素完美控制页眉页脚显示内容打印的简单方式
  3. css去掉table的td单元格的间距cellspacing,设置隔行显示不同背景颜色
  4. 用纯CSS改变html radio/checkbox默认背景颜色样式
  5. Node.JS命令行或批处理中更改Linux用户密码
  6. 用CSS和Bootstrap图标制作上下跳动的指示箭头动画效果
  7. 用css禁用input、checkbox、select等html控件,实现disable效果
  8. 用纯CSS停止冒泡和阻止浏览器默认行为及事件响应,达到禁用(disable)的目的
  9. Node.js框架之express
  10. 纽约时报使用Html5 WebRTC记录访问者IP地址

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA