Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查应用程序是否已安装,否则在HTML共享链接中打开webapp_Javascript_Web Applications_Hyperlink_Share - Fatal编程技术网

Javascript 检查应用程序是否已安装,否则在HTML共享链接中打开webapp

Javascript 检查应用程序是否已安装,否则在HTML共享链接中打开webapp,javascript,web-applications,hyperlink,share,Javascript,Web Applications,Hyperlink,Share,例如,我的网站上有一个到Telegram的共享链接,因此对于用户来说有两种可能性: 已安装电报应用程序(Android或Windows桌面)。 未安装Telegram,因此链接必须打开到WEBAPP Telegram(Android或桌面) 以下是两者的链接共享: https://t.me/share/url?url=URLTOSHARE tg://msg_url?text=URLTOSHARE 如果没有安装本地应用程序,最好的做法是先打开已安装的应用程序(Android、Windows等),

例如,我的网站上有一个到Telegram的共享链接,因此对于用户来说有两种可能性: 已安装电报应用程序(Android或Windows桌面)。 未安装Telegram,因此链接必须打开到WEBAPP Telegram(Android或桌面)

以下是两者的链接共享:

https://t.me/share/url?url=URLTOSHARE
tg://msg_url?text=URLTOSHARE
如果没有安装本地应用程序,最好的做法是先打开已安装的应用程序(Android、Windows等),然后打开webapp。
我认为在我的情况下,我不需要知道用户是在移动设备上还是在桌面上,因为第一个链接会在两台设备上打开WEB电报,第二个链接也会在两台设备上打开已安装的应用程序。

如果安装了应用程序,第一个链接会打开应用程序,但并不总是这样。就我个人经验而言:比如Firefox Android应用程序本身仍然会打开这样的链接,而不会将它们发送到Android操作系统。第二个链接仅在安装了应用程序时有效。我也相对确信,仍然无法确定是否安装了该应用程序,因此像instagram这样的网站所做的就是到处使用https链接,但也会显示一个使用应用程序协议的“在应用程序中打开”按钮。不过,我对这些都不是100%肯定,所以对此持保留态度。@ChrisG是的,但并不是所有的应用程序都会像IG那样对待链接,例如,在我的网页中有一系列服务可以共享,因此我不能只依赖IG或FB行为。。。在我的例子中,第一个链接是100%可回复的,但大多数手机用户希望使用他们安装的应用程序而不是Web应用程序,ThanksI刚刚做了一个快速测试,在Firefox中,第一个链接将我发送到telegram网站,第二个链接打开应用程序,正如预期的那样。如果我在Chrome中单击第一个链接,它会询问我是在Firefox(我的默认浏览器)还是Telegram中打开它。无论如何,我想说的是,我会为你的用户提供两个链接。比如“分享”和“在应用程序中分享”之类的。我还尝试了
tgh://
,但一个未知的协议显然没有任何作用。Firefox没有事件闪烁,Chrome只是刷新页面,看起来像。@ChrisG显然你的第一条评论是对的,目的是放一个指向web api的链接,该链接将检查你是否安装了应用程序,这是所有IM应用程序的常见做法,不是所有,但大多数。。。在你回答之前,我不能接受你的评论。。谢谢