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 相关文章推荐
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
Nov 30 Javascript
浅谈javascript语法和定时函数
May 03 Javascript
JavaScript动态添加style节点的方法
Jun 09 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
Jul 31 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
Sep 26 Javascript
jQuery中ScrollTo用法示例
Sep 04 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
Nov 17 Javascript
概述一个页面从输入URL到页面加载完的过程
Dec 16 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
Mar 02 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
Mar 05 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
Jul 03 Javascript
Vue中函数防抖节流的理解及应用实现
Apr 24 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
web方式ftp
2006/10/09 PHP
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
无阻塞加载脚本分析[全]
2011/01/20 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
悬浮广告方法日常收集整理
2016/03/18 Javascript
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
vue-admin-template配置快捷导航的代码(标签导航栏)
2020/09/04 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
python标准日志模块logging的使用方法
2013/11/01 Python
python根据路径导入模块的方法
2014/09/30 Python
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
python实现实时视频流播放代码实例
2020/01/11 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
网站出售协议书范文
2014/10/10 职场文书
银行招聘自荐信
2015/03/06 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python
解读Vue组件注册方式
2021/05/15 Vue.js
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
Python语言中的数据类型-序列
2022/02/24 Python