如何在js中确定手机上是否已安装应用程序?

时间:2018-07-24 08:13:24

标签: javascript

这个问题与js有关,而不仅仅是电报确定的特定任务。

通常情况下,网页上有代码,如果安装了应用程序(在我们的情况下为Telegram),则会立即将用户发送到该应用程序。

<script type="text/javascript">
    var url = "tg://resolve?domain=";
        setTimeout(function() {
            window.location = url;
        }, 100);
    </script>

还有一些代码,例如,一段时间后也会在浏览器中打开页面。

<script type="text/javascript">
    var now = new Date().valueOf();
    setTimeout(function () {
        if (new Date().valueOf() - now > 200) return;
        window.location = "https://itunes.apple.com/";
    }, 25);
    window.location = "tg://resolve?domain=";
</script>

同时,我们只希望其中一个选项可以工作-应打开一个应用程序或一个网页(如果未安装该应用程序)。

在这方面,存在一个问题,我们是否可以通过某种方式监视以下发展: -用户离开了页面但没有打开它(某些事件可能会提示用户不与页面进行交互)。我们的意思是在这种情况下,用户打开了Telegram并安装了它。 -如果可能的话,请注意用户未与页面进行交互的时间(以防用户访问Telegram并在一段时间后(例如几分钟)返回到我们页面上的浏览器)。

所以,算法是这样的: 如果安装了Telegram,则我们假设将打开带有我们网页的标签,并且不会在该页面上执行任何操作-相当长的时间(至少20秒)。 如果未安装Telegram,则用户将关闭该网页或以某种方式与其交互(滚动,单击等)。

0 个答案:

没有答案