nodejs调用浏览器打开URL链接
本文主要介绍的是node.js调用Chrome浏览器/默认浏览器打开链接地址的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:
安装第三方插件open
通过open模块,可以在任何平台上打开某个浏览器网址。
通过NPM安装
npm install open
使用Chrome打开网址
var open = require("open");
open("http://www.baidu.com", "chrome");
open库的实现原理
open模块的实现原理非常简单,即start命令,在安装谷歌浏览器的同时,chrome就种入了环境变量chrome,所以你按下win+r输入chrome你会发现直接打开了谷歌浏览器,那么如果你想用谷歌浏览器打开指定链接只需要输入chrome+网址就可以了
我们打开cmd输入下面命令即可用谷歌浏览器打开百度网:
start chrome http://www.baidu.com
node也可以执行这个命令
在Node.JS中我们通过child_process可以直接调用cmd命令
var cp = require('child_process')
cp.exec('start chrome http://www.baidu.com')
如果没有谷歌浏览器怎么办?
那我们就要调用用户的默认浏览器了
我们win+r输入cmd打开命令行
然后我们输入:
start https://www.baidu.com
我们会发现直接打开了百度网,但是不同操作系统需要兼容
所以我写了一个方法,方便大家在各个操作系统都能完美使用默认浏览器打开URL链接
const openDefaultBrowser = function (url) {var exec = require('child_process').exec;switch (process.platform) {case "darwin":exec('open ' + url);break;case "win32":exec('start ' + url);break;default:exec('xdg-open', [url]);}
}
openDefaultBrowser('https://www.baidu.com')
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持
相关文章:
nodejs调用浏览器打开URL链接
本文主要介绍的是node.js调用Chrome浏览器/默认浏览器打开链接地址的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 安装第三方插件open 通过open模块,可以在任何平台上打开某个浏览器网址。 通过NPM安装 npm i…...
ARM uboot 的移植2-从三星官方 uboot 开始移植
一、inand 驱动问题的解决 1、先从现象出发定位问题 (1) 解决问题的第一步,是定位问题。所谓定位问题,就是找到源代码当中导致这个问题的那一句或者那几句代码。有时候解决这个问题需要修改的代码和直接导致这个问题的代码是不同的。我们这里说的定位问…...
js作用域和作用域链
1、局部作用域分为函数作用域和块作用域 1.1、函数作用域: 在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。 总结 1.函数内部声明的变量,在函数外部无法被访问 2.函数的参数也是函数内部的局部变量 3.不同函数内部声明的变量无法互相访…...
C语言字符串
目录 一、字符串的引入和注意事项 1.1 字符串定义的几种方式: 1.2 定义字符串的方法一和方法二的区别: 1.3 字符串输出的几种方式: 1.3.1 循环下标法遍历输出字符串: 1.3.2 转义字符%s输出字符串: 1.3.3 使用puts函…...
Eureka注册中心快速入门
一、提供者与消费者**服务提供者:**一次业务中,被其他微服务调用的服务。(提供接口给其他微服务)**服务消费者:**一次业务中,调用其他微服务的服务。(调用其它微服务提供的接口)比如…...
xmu 离散数学 卢杨班作业详解【1-3章】
文章目录第一章 命题逻辑常用latex数学公式1.4.5679101113171923242627第二章 一阶逻辑1.2.3.6.9.10.12.13.一阶逻辑推理理论12.13.15.第三章 集合2478101213.第一章 命题逻辑 常用latex数学公式 符号代码∨\vee∨$\vee$∧\wedge∧$\wedge$→\rightarrow→$\rightarrow$⇒\Ri…...
mvn命令
在IDEA右侧Maven菜单中,有以下几种指令。 clean:清理,清除上一次构建生产的文件。执行该命令会删除项目地址下的target文件,但不会删除本地的maven已生成的文件。 validate:验证,验证项目是否正确且所有必…...
JS - 事件循环EventLoop
一、面试题:说一下事件循环(回答思路梳理) 首先 js 是单线程运行的( JS 可以修改 DOM,如果在 JS 执行的时候 UI 线程还在工作,就可能导致不能安全的渲染 UI),在代码执行的时候&…...
【Java基础】30分钟Git 从入门到精通
一、 版本控制工具1、什么是版本控制系统?版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对…...
0100 MySQL03
1.distinct关键字 把查询结果去除重复记录,原表数据不会被修改,只能出现在字段的最前端 select distinct job from emp; select distinct job,deptno from emp;//表示两个字段联合起来 去重 2.连接查询 从一张表中单独查询,称为单表查询 两张表联合…...
32- PyTorch基础 (PyTorch系列) (深度学习)
知识要点 PyTorch可以说是现阶段主流的深度学习框架 . 1 PyTorch入门 1.1 PyTorch概述 Torch是什么?一个火炬!其实跟Tensorflow中Tensor是一个意思,可以当做是能在GPU中计算的矩阵.,也可以当做是ndarray的GPU版! PyT…...
用gdb.attach()在gdb下断点但没停下的情况及解决办法
在python中,如果导入了pwntools,就可以使用里面的gdb.attach(io)的命令来下断点。 但是这一次鼠鼠遇到了一个情况就是下了断点,但是仍然无法在断点处开始运行,奇奇怪怪。 这是我的攻击脚本 我们运行一下。 可以看到其实已经运行起…...
Linux入门篇-作业(jobs)调度(本质仍然是进程)
简介 之所以叫做作业调度,作业是以shell为单位的,一个shell建立的作业,不会被另外一个shell看到(包 括root),但是仍然可以看到作业对应的进程。①前台进程(front process) 运行在用户…...
vue 监听 取消监听
vue 的 watch 除了可以使用声明式的配置项以外,还可以通过命令式 this.$watch 方法。 如下是我们比较少用的命令式(想要初始只监听一次,必须命令式写法): 监听只运行一次 声明式 export default{data: {showType: fa…...
0103深度优先搜索和单点连通-无向图-数据结构和算法(Java)
文章目录1.1 走迷宫1.2 图的深度优先搜索实现1.3 算法分析及性能1. 4 单点连通性后记1.1 走迷宫 简单的迷宫,如下图1.1-1所示: 探索迷宫而不迷路,我们需要: 选择一条没有标记过的通道,在你走过的路上铺一条绳子&…...
进销存管理系统
技术:Java等摘要:进销存管理系统是为了实现企业仓库商品管理的系统化、规范化和自动化,从而提高企业管理效率而设计开发的管理信息系统。它完全取代了过去一直用人工管理的工作方式,避免了由于管理人员手工操作上的疏忽以及管理质…...
Sonar:VSCode配置SonarLint/SonarLint连接SonarQube
需求描述 公司为项目代码配置了Sonar检测,希望在VSCode中开发项目时能够同步检测结果。 注意事项 SonarQube版本必须为7.9,否则SonarLint无法连接(GitHub-SonarLint-Wiki第一行就有说明)!!!S…...
陀螺仪小车(Forerake-Car)
项目简介:搭建一辆有arduino UNO 与rnf24l01组成的小车;手部安装由arduino nano开发板、nrf24l01、imu构成的手势控制器,利用手势控制器检测手部状态、发送信号对小车进行前进,实现基于卡尔曼滤波的MPU6050姿态结算。 准备工作&am…...
Leetcode Day5 含有重复元素集合的组合+
1、含有重复元素集合的组合 给定一个可能有重复数字的整数数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次,解集不能包含重复的组合。 【题目传送门】 思…...
Mac Book pro(M1)使用总结
1、拿到电脑激活的时候,一定要记住账号密码及安全问题的答案。 2、显示隐藏文件夹: 3、显示.git或者gitignore等隐藏后缀的文件: 打开终端 defaults write com.apple.finder AppleShowAllFiles TRUE重启Finder在终端输入 killall Finder …...
阿里云物联网平台OTA升级避坑指南:从版本号上报到Bin文件拉取的全流程排错
阿里云物联网平台OTA升级全链路排错实战手册 当设备固件需要远程更新时,OTA技术无疑是救星。但现实往往比理想骨感——版本号莫名失踪、升级包半路"走失"、设备在关键时刻"装聋作哑"。这些问题不仅耽误进度,更可能让生产线停摆。本文…...
利用快马平台自动化生成contextmenumanager提升前端开发效率
最近在开发一个后台管理系统时,遇到了一个很常见的需求:需要为表格、图表等元素添加右键菜单功能。这种需求看似简单,但实际开发中却要花费不少时间在重复的配置工作上。经过一番摸索,我发现利用InsCode(快马)平台可以大幅提升这类…...
CW32L012FOC开源项目推进
作为一枚合格的“职场摸鱼学”实践者(手动狗头),我坚决不建议在长假结束后立刻全身心扎进任务清单。那太不“可持续发展”了。 所以,今天上午,我可以理直气壮地把“整理工位”作为最高优先级。说得具体点,…...
Steam API集成:构建智能游戏生态的完整PHP解决方案
Steam API集成:构建智能游戏生态的完整PHP解决方案 【免费下载链接】Steam A composer package to make use of the steam web api. 项目地址: https://gitcode.com/gh_mirrors/stea/Steam 在当今游戏开发和社区管理领域,与Steam平台的深度集成已…...
mT5分类增强版中文-base效果惊艳:同一输入生成‘正式/口语/幽默’三风格文本示例
mT5分类增强版中文-base效果惊艳:同一输入生成‘正式/口语/幽默’三风格文本示例 1. 模型介绍:零样本学习的文本增强利器 mT5分类增强版中文-base是一个基于mT5架构的文本增强模型,专门针对中文场景进行了深度优化。这个模型最大的特点是采…...
揭秘AI教材写作:低查重率,用AI轻松搞定教材编写难题!
编写教材需要丰富的资料作为基础,但传统的资料整理方式早已无法满足当前的需求。过去,课标文件、学术论文和教学案例等信息零散地散落在多个平台上,比如知网和教研网站,这让我们花费数天才筛选到有用的内容。而即使所有资料都收集…...
用ESP32和2.13寸电子价签墨水屏,DIY一个超省电的桌面网络时钟(附完整代码)
用ESP32和2.13寸电子价签墨水屏打造极简网络时钟:从硬件拆解到代码实战 在智能设备泛滥的今天,一块能安静显示时间且不打扰生活的时钟反而成了稀罕物。本文将带你用ESP32开发板和汉朔2.13寸电子价签墨水屏,打造一个年耗电量不足1度电的极简网…...
Koodo Reader:您的跨平台电子书阅读解决方案,让阅读无处不在
Koodo Reader:您的跨平台电子书阅读解决方案,让阅读无处不在 【免费下载链接】koodo-reader A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux, Android, iOS and Web 项目地址: https://gitcode.com/Gi…...
VS2015+C++实战:手把手教你用海康MVS里的Demo搞定多相机同步采图与保存
VS2015C实战:海康MVS工业相机多机同步采图全流程解析 工业视觉检测系统中,多相机同步采图是个经典需求。上周帮朋友调试8台海康威视相机组成的检测线时,发现网上完整案例实在太少。今天我就以VS2015开发环境为例,带大家深入MVS安装…...
模型蒸馏与量化:为什么大厂急需能把大模型跑在边缘端的SDE?
在2026年的北美科技求职市场中,人工智能的下半场战役已经悄然转移了阵地。当行业内绝大多数求职者还在简历上堆砌“熟练调用大语言模型API”或“基于LangChain构建应用”时,北美头部科技公司(如Apple、Google、Meta)的招聘重心已经…...
