在linux系统中自定义协议,让浏览器可以调用本地程序

备注:
以下适用于在kde桌面环境下(同样适用于centos7),包括统信UOS、Ubuntu系统,

步骤一:

新建一个demo.desktop,demo为协议名称内容如下:

[Desktop Entry]
Name=demo
Exec=/usr/bin/test.sh %u
Type=Application
Terminal=false
MimeType=x-scheme-handler/demo;

MimeType=x-scheme-handler/demo为协议信息,demo为协议名字
Exec=/usr/bin/test %u,exec为调用的程序或者脚本,其中%u为传递的参数内容

以下步骤是在root用户下的配置步骤

步骤二:拷贝文件

cp demo.desktop /usr/share/applications/

步骤二:更新协议信息

update-desktop-database /usr/share/applications/

步骤三:注册协议到系统

xdg-mime default demo.desktop x-scheme-handler/demo

步骤五:
新建一个1.html文件进行测试,并用浏览器打开该文件,其内容如下

<html>
    <head>
	<title>sdfasdfasdfasdf</title>
	</head>
	<body>
     <a href="demo://192.168.125.114">open myapp </a> 
	<p></p>
	<p></p>
</html>

验证过程:
点击网页中的“open myapp”超链接 会执行/usr/bin/test.sh脚本,并将’demo://192.168.125.114’传递给
tesh.sh作为脚本参数。

普通用户配置步骤如下

cp demo.desktop  ~/.local/share/applications/;
update-desktop-database  ~/.local/share/applications/;
xdg-mime default demo.desktop x-scheme-handler/demo

猜你喜欢

转载自blog.csdn.net/xiao3404/article/details/129758885