效果
效果如下
如想掉起用户的微信大致出现图上效果,本文将介绍如何实现。
起因
公司之前有这样一个需求,在项目中要吊起本地的邮箱,当时我觉得这个有点不太好实现,还在想要不要推掉这个需求,后来问了我的好大哥才知道其实很简单,只需要一行代码就能实现,还能填写内容。
- 代码
location.href='mailto:xxx@163.com'
- 效果
这不仅勾起了我的好奇心为什么mailto这个命令会吊起邮箱,那么我是不是也可以通过浏览器来吊起其他应用程序,这个命令又有什么诀窍呢,带着疑问我去找了一些资料。
通过注册表找到对应的命令
首先通过win+r运行regedit来打开注册表,你会打开这样一个窗口
而 HKEY_CLASSES_ROOT就会有我们安装的应用程序的信息,我们搜一下mailto
那么选中这个文件夹右键进行导出,然后用记事本打开,你会看到mailto这个命令,还能找到一个对应的目录地址
然后在文件管理器中我们会找到
那么是不是也可以自己按照这个思路自己写一个注册表载入来通过浏览器打开呢
通过自己写的注册表在浏览器打开对应的应用程序
首先我们新建一个.txt的文件,写入以下代码(我这里用vscode举例子)
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\vsc]
"URL Protocol"=""
@="URL:vsc"
[HKEY_CLASSES_ROOT\vsc\shell]
[HKEY_CLASSES_ROOT\vsc\shell\open]
[HKEY_CLASSES_ROOT\vsc\shell\open\command]
@="\"C:\\Users\\*****\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" --open-url -- \"%1\""
这里的vsc是自己命名的,一会在浏览器中输入的(如果你想用其他,把所有vsc的地方都要换掉),这里的注册表信息最好是以刚刚导出的注册表为例拷一份更改(虽然没试过,但是怕就系统版本不兼容导致不好使的问题),然后下面的 C:\Users\*****\AppData\Local\Programs\Microsoft VS Code\Code.exe\ 替换成vscode的安装路径,如果不知道怎么找按照路径按下图操作
修改完了以后将文件后缀名的.txt改成.reg保存关闭然后双击运行就可以了(这里注意一定要管理员方式打开,不然会不好使)
然后就可以打开vscode了
最后
我将最上面提到的代码放在下面,感兴趣的话可以试试(当然要在安装了对应的软件,并且是默认的没改过注册表配置的,不然容易失败哦)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ul>
<li><a href="weixin:">微信</a></li>
<li><a href="vscode:">vscode</a></li>
<li><a href="mailto:">邮件</a></li>
<li><a href="zoommtg:">打开zoom</a></li>
</ul>
</body>
</html>