前阵子接到需求, 前端启动本级的vlc和前端启动一个脚本的需求
思路:
方法1.配合后端, 前端发请求, 后端接到请求, 后端处理脚本,后端启动一个.shell脚本应该是很容易的事(该方法前端发请求,剩下的后端处理)
方法2.在服务器上写一个.desktop文件,.desktop文件个人理解为桌面快捷方式(个人理解, 如有错误, 随时纠正), 然后将快捷方式转为链接 ,前端用调用链接的方式启动快捷键=》启动本地应用(即方法2)
个人建议: 如果是本机应用, 建议用方法2, 如果是脚本建议用方法1
方法1: 先说启动windows:
打开注册表
\1. 输入win+R
2.输入regedit
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cKolfAu4-1629451614294)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
确定,进入注册表
注册表中配置
\1. 在HKEY_CLASSES_ROOT文件目录下,右键—新建—项,项的名称为ZFBA
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fAw9NVXw-1629451614296)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
\2. 在新建的项ZFBA文件中依次按照下图中的文件结构新建项
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bpdSuhBo-1629451614297)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
\3. 在\HKEY_CLASSES_ROOT\ZFBA下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YoBeoZ6m-1629451614301)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
\4. 在\HKEY_CLASSES_ROOT\ZFBA\DefaultIcon下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aqXiHJmg-1629451614302)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
默认值为当前exe文件的目录路径
\5. 在\HKEY_CLASSES_ROOT\ZFBA\shell\open\command下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LZAuCvVo-1629451614305)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
默认值为当前exe文件的目录路径
前端用超链接调用
<a href="ZFBA://"> stop </a>
方法2:再说服务器上:
-
亲测有效(转自:https://blog.youkuaiyun.com/leiweip/article/details/88321780?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control)
在linux自定义协议,让浏览器可以调用本地程序
在linux自定义协议,让浏览器可以调用本地程序
第一种是在gnome桌面环境下(只适用rhel6),执行以下步骤 并且重启系统
gconftool-2 -t string -s /desktop/gnome/url-handlers/foo/command ‘foo “%s”’
gconftool-2 -s /desktop/gnome/url-handlers/foo/needs_terminal false -t bool
gconftool-2 -s /desktop/gnome/url-handlers/foo/enabled true -t bool
第二种:是在kde桌面环境下(同样适用于centos7):
- 新建一个foo.desktop,内容如下:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/foo %u
Name=APT‑URL
Comment=APT‑URL handler
Icon=
Categories=Application;Network;
MimeType=x-scheme-handler/foo;
2.普通用户跟root用户配置不一样
root用户配置:
3.拷贝文件
cp foo.desktop /usr/share/applications/
4.更新
update-desktop-database
5.注册协议
xdg-mime default foo.desktop x-scheme-handler/foo
普通用户配置
6.拷贝文件
cp foo.desktop ~/.local/share/applications/;
7.更新
update-desktop-database ~/.local/share/applications/;
8.注册foo协议:
cd ~/.local/share/applications/;
xdg-mime default foo.desktop x-scheme-handler/foo
9.前端调用:
<a href="foo://"> stop </a>