、会议视频类的应用软件可以通过浏览器打开,这是怎么工作的?
先看看浏览器对URI的解析,我们从浏览器中输入一个URI地址,此时浏览器首先解析该uri地址对应的协议信息,对于http、https、ws、ftp等协议,由于浏览器自身就能够进行处理,因此,浏览器直接进行后续的相关处理工作,当URI协议浏览器自身无法进行处理时(例如:Tencent、tang等),浏览器会将URI中的协议信息提取出来,然后从操作系统查找可以处理该协议的对应的应用程序,然后将后续的操作全部转发给找到的应用程序进行处理,如果没有找到,则对该资源处理失败。
浏览器是如何知道某一协议的处理程序的呢?window操作系统下,是通过查找注册表中的信息来获取的。
以OSS为例编写一下代码:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\oss]
@=""
"URL Protocol"="C:\\Program Files (x86)\\OSS\\oss.exe"
[HKEY_CLASSES_ROOT\oss\DefaultIcon]
@="C:\\Program Files (x86)\\OSS\\oss.exe"
[HKEY_CLASSES_ROOT\oss\Shell]
[HKEY_CLASSES_ROOT\oss\Shell\Open]
[HKEY_CLASSES_ROOT\oss\Shell\Open\Command]
@="\"C:\\Program Files (x86)\\OSS\\oss.exe\" -e %1"
————————————————
<a href="oss://yourparams">打开oss</a>
上面的 reg 文件编写原理其实就是参照能通过浏览器打开的程序的注册表修改的(比如:迅雷应用程序,win 键 + R > 输入 regedit 在注册表找到对应程序,导出即可)