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 相关文章推荐
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
Sep 20 Javascript
javascript权威指南 学习笔记之变量作用域分享
Sep 28 Javascript
使用闭包对setTimeout进行简单封装避免出错
Jul 10 Javascript
javascript校验价格合法性实例(必须输入2位小数)
May 05 Javascript
js返回前一页刷新本页重载页面
Jul 29 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
Sep 05 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
Dec 28 Javascript
webpack2.0搭建前端项目的教程详解
Apr 05 Javascript
详解VueJS应用中管理用户权限
Feb 02 Javascript
js实现多个标题吸顶效果
Jan 08 Javascript
Angular之jwt令牌身份验证的实现
Feb 14 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限制ip地址范围的方法
2015/03/31 PHP
PHP闭包函数传参及使用外部变量的方法
2016/03/15 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
jquer之ajaxQueue简单实现代码
2011/09/15 Javascript
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
在Node.js中使用HTTP上传文件的方法
2015/06/23 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
浅谈Koa服务限流方法实践
2017/10/23 Javascript
layer弹出层全屏及关闭方法
2018/08/17 Javascript
微信小程序开发之tabbar图标和颜色的实现
2018/10/17 Javascript
Python循环语句之break与continue的用法
2015/10/14 Python
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
如何实现删除numpy.array中的行或列
2018/05/08 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
JAVA和C++区别都有哪些
2015/03/30 面试题
高级编程求职信模板
2014/02/16 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
2014年幼儿园小班工作总结
2014/12/04 职场文书
增值税发票丢失证明
2015/06/19 职场文书
学校运动会开幕词
2016/03/03 职场文书
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技