网页中调用windows和MacOS本地应用程序的最佳技术实践方案是?有些网页中,有按钮打开客户端,就可以打开本地客户端,甚至还把登录状态传递过去,请问这种实现的技术方案是什么?
Only Mystery
第一个想到的是播放视频类的软件,网页唤起播放器,比如Potplayer播放器这些,
一般是使用了自定义协议(Custom Protocol),浏览器通过处理特定协议来调用本地应用程序。浏览器可以识别某个特定协议,如myapp://,并通过系统中注册的应用程序来处理这个协议。
Windows为例的话,本地应用程序需要在系统中注册自定义协议,一般通过修改注册表实现:
[HKEY_CLASSES_ROOT\myapp]
@="URL:MyApp Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\myapp\shell\open\command]
@="\"C:\\path\\to\\your\\app.exe\" \"%1\""
在浏览器中使用 myapp:// 协议时,操作系统会调用指定的应用程序,
在网页中调用协议:
<a href="myapp://launch">Open MyApp</a>