当前位置: 首页 > news >正文

做网站先做前端好还是先做逻辑/百度小说搜索风云榜排名

做网站先做前端好还是先做逻辑,百度小说搜索风云榜排名,做环保的网站有哪些,爱站seo在 Android 通过 sheme 协议可以拉起其他应用。 electron 应用也可以通过类似特定协议被拉起。 在同时有 web、客户端的应用里,可以通过这种方式在 web 拉起客户端。 支持拉起客户端 const PROTOCOL xxxif (process.defaultApp) {// 这里是开发环境,有…

在 Android 通过 sheme 协议可以拉起其他应用。
electron 应用也可以通过类似特定协议被拉起。
在同时有 web、客户端的应用里,可以通过这种方式在 web 拉起客户端。

支持拉起客户端

  const PROTOCOL = 'xxx'if (process.defaultApp) {// 这里是开发环境,有启动参数if (process.argv.length >= 2) {app.setAsDefaultProtocolClient(PROTOCOL, process.execPath, [path.resolve(process.argv[1])]);}} else {app.setAsDefaultProtocolClient(PROTOCOL);}

这里注册启动协议得程序运行一次才生效,体验不好。有没有在安装时就生效的实现?同时在卸载时就取消注册?

mac

在electron-builder.yml加配置,xxx是协议名

# 注册客户端启动协议,适用于mac
protocols:- name: ' xxx'schemes: - 'xxx'

windows

在electron-builder.yml的 build 目录增加installer.nsh文件,比如electron-builder.yml是

directories:buildResources: build

就增加build/installer.nsh

!define PROTOCOL_NAME "xxx"
!macro customInstallDeleteRegKey HKCU "${PROTOCOL_NAME}"WriteRegStr HKCU "${PROTOCOL_NAME}" "" "URL:${PROTOCOL_NAME}"WriteRegStr HKCU "${PROTOCOL_NAME}" "URL Protocol" ""WriteRegStr HKCU "${PROTOCOL_NAME}\shell" "" ""WriteRegStr HKCU "${PROTOCOL_NAME}\shell\Open" "" ""WriteRegStr HKCU "${PROTOCOL_NAME}\shell\Open\command" "" "$INSTDIR\${APP_EXECUTABLE_FILENAME} %1"
!macroend!macro customUnInstallDeleteRegKey HKCU "${PROTOCOL_NAME}"
!macroend

除此之外

还要记得本地开发时仍需要注册,不然调试不生效,但程序退出后记得取消注册

app.removeAsDefaultProtocolClient(PROTOCOL, process.execPath, [path.resolve(process.argv[1])]);

处理二次启动时的参数

拉起后希望能处理传参,比如在浏览器通过 xxx://open?a=1拉起,希望能获取到 open,a=1这些参数。由于 mac默认单例和electron实现的原因,在 mac 和 windows 下有些不一样。

mac

  // 处理请求参数app.on('open-url', (_, url) => {dialog.showErrorBox('Welcome Back from open-url', `You arrived from: ${url}`);handleUrl(url);});

windows

  app.on('second-instance', (_, commandLine) => {const url = commandLine[commandLine.length - 1]dialog.showErrorBox('Welcome Back 111', `You arrived from: ${url}`);if(url) handleUrl(url);});

处理首次启动时的参数

  if (process.argv.length > 1) {const url = process.argv.find(arg => arg.startsWith(`${PROTOCOL}://`));if (url) handleUrl(url, {fromInit: true});}

参考链接

https://www.electronjs.org/docs/latest/tutorial/launch-app-from-url-in-another-app
https://xuxin123.com/electron/url-scheme/

http://www.whsansanxincailiao.cn/news/31954854.html

相关文章:

  • 清远市企业网站seo/嘉兴网络推广
  • 南京网站seo服务/市场营销培训
  • 西安专业做网站建设/网站交换链接友情链接的作用
  • 苏州艺术家网站建设/2023第三波疫情已经到来了
  • 品牌做网站/手机搜索引擎
  • 关于网站建设的指标/运营和营销是一回事吗
  • wordpress jetpack 使用/专业seo站长工具全面查询网站
  • php网站上传漏洞/网络营销公司
  • 自己怎么1做网站/百度识图软件
  • 做网站需要空间/seo刷关键词排名免费
  • 镇江做网站的/谷歌手机版浏览器官网
  • 网站的宣传方法有哪些/如何在网上推广自己的产品
  • wordpress 浏览器上显示错位/seo工具不包括
  • 深圳软件定制开发服务/长沙seo咨询
  • 东莞微网站制作/如何制作一个自己的网站
  • 网站产品关键词导出/市场调研报告万能模板
  • 餐饮手机微网站怎么做/网址生成短链接
  • 做宣传片的网站/广告优化师的工作内容
  • 做网站用别人图片文章会侵权吗/网站搜索引擎优化案例
  • ccd深圳设计公司/石家庄网站建设seo
  • 快印店网站建设84wzjs/近期国内外重大新闻10条
  • 河南南阳最新消息今天/seo网络优化师招聘
  • 广告网站建设公司/国外推广渠道平台
  • 花店网站建设课程设计论文/在线工具
  • 网站维护提醒php文件/百度公司怎么样
  • 网络营销推广方法工具/济南网站seo哪家公司好
  • 免费申请电信卡/南昌seo优化公司
  • 驻马店哪里做网站/查看网站流量的工具
  • 微信公众平台推广网站/百度seo搜索引擎优化厂家
  • 做服装网站需要什么条件/网络营销 长沙