在移动端浏览器内判断用户是否安装了某个app

现有有一个需求:页面有一个 “在app中查看” 按钮,当被点击时,若用户安装了app,则使用相应的app打开, 否则跳转到下载页。已知该app的scheme

via:https://segmentfault.com/q/1010000004389117


setTimeout(function () {
var timeOutDateTime = new Date();
if (!loadDateTime || timeOutDateTime - loadDateTime < 1010) {
window.location = self.dataset.href;
}
},1000);
window.location = 'diaodiao://';

记录下在各个系统及浏览器中的表现:

IOS8.3(都可以跳转到下载页)
    safari可呼起APP
    手机百度可呼起APP
    QQ不能呼起APP
    QQ空间可呼起APP
    微信不能呼起APP

IOS9.2.1(都可以跳转到下载页)
    safari可呼起APP,但在呼起之前会弹出提示,需要选择“open”之后才会呼起
    手机百度可呼起APP
    QQ空间可呼起APP
    QQ不能呼起APP
    微信不能呼起APP
    微博不能呼起APP
    知乎不能呼起APP

魅族Android5.0.1(都可以跳转到下载页)
    原生浏览器不能呼起APP
    QQ浏览器可呼起APP(但是会稍微延迟一会儿,时间可以接受)
    Chrome可呼起APP
    UC浏览器可呼起APP,但是在呼起之前会弹出提示,需要选择“仅本次允许”之后才会呼起
    QQ可呼起APP
    微信可呼起APP(APP的呼起会晚于跳转到下载页)
    手机百度可呼起APP
    微博不能呼起APP

三星Android4.4(都可以跳转到下载页)
    原生浏览器可呼起APP
    QQ可呼起APP(打开了2次)
    微信不能呼起
    手机百度可呼起APP
    QQ浏览器可呼起APP

你可能感兴趣的:(在移动端浏览器内判断用户是否安装了某个app)