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

张家口网站开发高端品牌手表

张家口网站开发,高端品牌手表,杭州微网站建设公司,网址制作网站JavaScript调起本地应用程序 以下内容#xff0c;自定义部分我也还未经过实际验证#xff0c;酌情查看。 文章目录 JavaScript调起本地应用程序确定协议调用协议传参自定义写入协议获取参数 在浏览器中通过 JavaScript调起本地应用程序的一个可行方法就是 通过协议调起。 …JavaScript调起本地应用程序 以下内容自定义部分我也还未经过实际验证酌情查看。 文章目录 JavaScript调起本地应用程序确定协议调用协议传参自定义写入协议获取参数 在浏览器中通过 JavaScript调起本地应用程序的一个可行方法就是 通过协议调起。 具体步骤就两步 确定协议调用协议 确定协议 确定协议的方法要去注册表中看。 window s搜索regedit打开 注册表编辑器然后再HKEY_CLASSES_ROOT下找。 以 微信 为例可以在HKEY_CLASSES_ROOT项下找到weixin项在weixin上右键导出注册表在编辑器(例如vscdoe)中打开可以看到以下内容 Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\weixin] weixinProtocol URL ProtocolweixinProtocol[HKEY_CLASSES_ROOT\weixin\DefaultIcon] C:\\Program Files (x86)\\Tencent\\WeChat\\WeChat.exe,1[HKEY_CLASSES_ROOT\weixin\shell][HKEY_CLASSES_ROOT\weixin\shell\open][HKEY_CLASSES_ROOT\weixin\shell\open\command] \C:\\Program Files (x86)\\Tencent\\WeChat\\WeChat.exe\ \%1\上面写的你可能一脸懵逼我给转换下写法 HKEY_CLASSES_ROOTweixin(Default) weixinProtocolURL Protocol weixinProtocolDefaultIcon(Default) C:\Program Files (x86)\Tencent\WeChat\WeChat.exe,1shellopencommand(Default) C:\Program Files (x86)\Tencent\WeChat\WeChat.exe %1这是不是就清楚多了。 除去第一行Windows Registry Editor Version 5.00只看下面的转换 [HKEY_CLASSES_ROOT\weixin]表示这是HKEY_CLASSES_ROOT下的weixin所以写法是 HKEY_CLASSES_ROOTweixin再往下 即 (Default)其他的就没啥了自己看下即可。 那么这些里面都是啥意思呢 weixin 是协议的名称。URL Protocol 表示这是一个URL协议。DefaultIcon 子键指定了协议的图标。shell\open\command 子键指定了打开协议链接时应该运行的命令。 由此确定微信的协议weixin。 调用协议 调用协议就很简单了。一行JavaScript代码: window.location.href weixin://;运行这一行代码浏览器就会弹出提示框要我们手动确定是否要打开微信。 或者一行html代码 a hrefweixin://打开微信/a传参 具体说明下调用的应用程序应该怎么传参要去查看具体的官方文档这里只是示例以微信做个示例不代表微信就这么传。 调起微信时想给微信传参数那么只需要在协议后面拼接参数即可比如 window.location.href weixin://example?paramvalue;那么微信拿到参数的就是weixin://example?paramvalue。 这点也好解释前面我粘贴的注册表信息shell/open/command的协议链接是这样的 C:\Program Files (x86)\Tencent\WeChat\WeChat.exe %1这里的%1即占位符我们通过协议打开微信执行的命令其实是 C:\Program Files (x86)\Tencent\WeChat\WeChat.exe weixin://example?paramvalue微信可以解析这个参数然后执行对应的操作。 自定义 自定义不是教怎么去修改别的应用程序的注册表协议这点我觉得没太大必要。 毕竟你在你的电脑设置了一个特殊的协议比如把微信的协议weixin://改成we_weixin://但是把调用代码放到别的电脑上还是白搭别的电脑可不是这样的协议名字。 也不要想着在浏览器上运行JavaScript时操纵注册表修改协议如果JavaScript运行在浏览器环境里连操作用户本地文件都不允许操作注册表不现实。 自定义 指的是我们自己编写的客户端软件如何被调起。 分为以下几步 编写客户端软件在客户端安装的过程中向用户注册表中注册自定义协议在网页中调用协议 这些专门开发桌面应用程序的开发框架比如Electron会给我们提供更多的权限和能力让我们可以通过执行Javascript代码来调用本地系统资源。 写入协议 那如何向注册表写入协议 可以使用批处理脚本.bat也可以通过Node.js中的child_process模块执行脚本: (electron就自带nodejs环境)也可以使用第三方库例如regedit 这里先介绍child_process如何写入 const { exec } require(child_process);const command reg add HKCR\RegistryKey /v YourValueName /t REG_SZ /d YourValue;exec(command, (error, stdout, stderr) {if (error) {console.error(执行错误: ${error});return;}console.log(stdout: ${stdout});console.error(stderr: ${stderr}); });这里的 reg add 命令用于在注册表中添加一个新的键值对。这需要管理员权限才能执行。 解释下这个command reg add HKCU\\Software\\YourRegistryPath /v YourValueName /t REG_SZ /d YourValuereg: 这是注册表编辑器的命令行工具。 add: 这是 reg 工具的一个子命令表示要添加一个新的注册表项。 HKCR : 这是注册表的根键之一 存储了系统中所有已注册的文件类型、协议、COM 对象等信息。 RegistryKey: 这是在 HKCU 下的子路径表示你要添加键值对的具体位置。你可以将 RegistryKey替换为实际的路径。如果路径不存在reg add 命令会创建它。 /v YourValueName: /v 表示要添加的是一个值value而 YourValueName 是这个键值对的名称。你可以将 YourValueName 替换为实际的值名称。 /t REG_SZ: /t 表示值的类型typeREG_SZ 表示这是一个字符串类型的值。这表示你要添加的值是一个字符串。 /d YourValue: /d 表示数据data而 YourValue 是这个值的具体内容。你可以将 YourValue 替换为实际的值。 再说第三方库regedit如何操作这就很简单了 下载库 npm i regedit以微信的注册表为例如何利用regedit写入 const regedit require(regedit);// 协议根路径 const weixinRegistryKey HKCR\\weixin; const weixinProtocolValue weixinProtocol; const weixinDefaultIconKey HKCR\\weixin\\DefaultIcon; const weixinShellOpenCommandKey HKCR\\weixin\\shell\\open\\command; const weixinExePath C:\\Program Files (x86)\\Tencent\\WeChat\\WeChat.exe;// Write registry values regedit.putValue({[weixinRegistryKey]: {: weixinProtocolValue,URL Protocol: weixinProtocolValue,},[weixinDefaultIconKey]: {: ${weixinExePath},1,},[weixinShellOpenCommandKey]: {: ${weixinExePath} %1,}, }, (err) {if (err) {console.error(Error writing to the registry: ${err.message});} else {console.log(Registry updated successfully);} });协议写好之后调用协议就不多说了和上面的一样。 获取参数 自定义了协议如果用户调用了协议给我们传了参数我们该如何获取呢 在nodejs环境下可以使用 process.argv 获取参数。
http://wiki.neutronadmin.com/news/180814/

相关文章:

  • 池州做网站培训wordpress主题如何修改语言
  • 做的网站速度慢建各企业网站多少钱
  • 网站托管团队大连html5网站建设价格
  • 免费购物网站源码上海企业建站步骤
  • 做的精美的门户网站推荐深圳网站建设首选全通网络
  • 用什么做网站后台的宁夏建设造价网站
  • 如何申请一个免费的网站空间知道创于 wordpress
  • 网站做动态图片大全南京网络程序开发公司
  • 做汽配找哪个网站好qq强制聊天网站源码
  • 网站设计需要需要用用.net做网站中含有论坛
  • 公司网站首页模板大连看妇科哪家医院好
  • 怎么用ai做网站版面wordpress文章所有图片大小
  • 免费做金融网站有哪些手机与pc的网站开发
  • 国外做二手工业设备的网站红桥集团网站建设
  • 网站建设哈尔滨网站建设1整人网站建设
  • 主题字体wordpressseo引流什么意思
  • 什么网站做护工红杉树装饰公司怎么样
  • 网站阴影机房网络建设方案
  • 做外贸哪些网站好可以免费做调查问卷的网站
  • 网站建设考试多选题宁波 小程序开发公司
  • 做做网站下载2023亲子网 网站正在建设中
  • 浙江建设信息港网站查询营销网课
  • 打开山东城市建设职业学院网站西安网站开发培训价格
  • 电气网站设计工艺品做网站
  • 绿色网站设计手机移动端网站怎么做
  • 网站建设技能描述安徽省建设厅八大员报名网站
  • 计算机考试模拟网站怎么做儿童编程哪家培训机构好
  • 建设 网站工作汇报海城建设网站
  • 青岛信息推广网站王占山 同济大学
  • 北京网站设计技术云南网站建设公司哪家好