前端调用本机应用, 前端启动脚本

本文介绍了两种方法来实现前端启动本机应用(如VLC)和脚本。方法1是通过后端处理,前端发送请求触发后端启动.sh脚本。方法2是创建.desktop文件,前端通过链接调用启动本地应用。对于Windows系统,详细说明了注册表配置步骤;对于Linux系统,提供了gnome和kde环境下自定义协议的配置方法。这两种方法为前端与本地系统的交互提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前阵子接到需求, 前端启动本级的vlc和前端启动一个脚本的需求

思路:

​ 方法1.配合后端, 前端发请求, 后端接到请求, 后端处理脚本,后端启动一个.shell脚本应该是很容易的事(该方法前端发请求,剩下的后端处理)

​ 方法2.在服务器上写一个.desktop文件,.desktop文件个人理解为桌面快捷方式(个人理解, 如有错误, 随时纠正), 然后将快捷方式转为链接 ,前端用调用链接的方式启动快捷键=》启动本地应用(即方法2)

个人建议: 如果是本机应用, 建议用方法2, 如果是脚本建议用方法1

方法1: 先说启动windows:

  • 亲测有效(转自:https://blog.youkuaiyun.com/hope93/article/details/102501945)

打开注册表

\1. 输入win+R

2.输入regedit

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cKolfAu4-1629451614294)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

确定,进入注册表

注册表中配置

\1. 在HKEY_CLASSES_ROOT文件目录下,右键—新建—项,项的名称为ZFBA

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fAw9NVXw-1629451614296)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

\2. 在新建的项ZFBA文件中依次按照下图中的文件结构新建项

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bpdSuhBo-1629451614297)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

\3. 在\HKEY_CLASSES_ROOT\ZFBA下:

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YoBeoZ6m-1629451614301)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

\4. 在\HKEY_CLASSES_ROOT\ZFBA\DefaultIcon下:

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aqXiHJmg-1629451614302)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]

默认值为当前exe文件的目录路径

\5. 在\HKEY_CLASSES_ROOT\ZFBA\shell\open\command下:

img[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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):

  1. 新建一个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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值