虽然在Js中可以启动某个app,但是并不能判断该app是否安装;

但是,但是....还是有奇思淫巧滴,启动app需要的时间较长,js中断时间长,如果没安装,js瞬间就执行完毕。直接上代码吧!

html代码:

<a href="javascript:testApp('tel:1868888888')">打电话</a>

js代码:

function testApp(url) {var timeout, t = 1000, hasApp = true;setTimeout(function () {if (hasApp) {alert('安装了app');} else {alert('未安装app');}document.body.removeChild(ifr);}, 2000)var t1 = Date.now();var ifr = document.createElement("iframe");ifr.setAttribute('src', url);ifr.setAttribute('style', 'display:none');document.body.appendChild(ifr);timeout = setTimeout(function () {var t2 = Date.now();if (!t1 || t2 - t1 < t + 100) {hasApp = false;}}, t);
}

参考文档:http://www.cnblogs.com/yexiaochai/p/3439179.html

JS判断手机端是否安装了某个客户端APP相关推荐

  1. js判断手机端还是电脑PC端(以及注意事项)

    在router.index中声明方法,在导航守卫中调用并跳转 要注意跳转的网址必须加上 http 或https 1: 不加是不会打开外网的连接,会在你服务内找localhost:XX/XX, 2:加上 ...

  2. html页面判断是手机端访问,JS 判断手机端和pc端后跳转对应页面

    判断手机端和pc端 (function () { var sUserAgent = navigator.userAgent; if (sUserAgent.indexOf('Android') > ...

  3. JS 判断手机端跳转

    第一种方法: function is_mobile() { var regex_match = /(nokia|iphone|android|motorola|^mot-|softbank|foma| ...

  4. js判断手机端和pc端以及微信浏览器

    方法一: if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {console.log('this is wap ...

  5. js判断手机端和pc端

    var browser = { versions: function() {var u = navigator.userAgent, app = navigator.appVersion;return ...

  6. ipa在线安装搭建_AppCake,手机端签名安装IPA,无需越狱

    对于IPA安装,有很多方式. 例如JSBox脚本.Shu.Pythonista等. 通常,我们比较需要是,签名后再安装,例如越狱工具. 今天给大家推荐一款IPA签名安装工具,AppCake,可以将IP ...

  7. js判断手机上是否安装某APP

    前两天,产品给我又给我提了一个需求,就是给我看了一下人家的功能,说我们也想要这个功能,于是,我就开始实现这个功能了..... js判断手机上是否安装某APP,如果有的话直接打开App,否则打开App ...

  8. jquery,js实现手机端全屏轮播图手动滑动+自动切换(autoplay)

    jquery,js实现手机端全屏轮播图 使用了swiper插件,可手动滑动切换也可自动切换 效果图 css代码 只是作为参考,可以根据你自己的需求去改,这里我用的是上下两张背景图,图自行修改 html ...

  9. js判断移动端是否安装某款app的多种方法

    本文实例讲解了js判断移动端是否安装某款app的多种方法,分享给大家供大家参考,具体内容如下 第一种方法: 一:判断是那种设备 var isAndroid = u.indexOf('Android') ...

最新文章

  1. 【微信小程序】异步请求,权重,自适应宽度并折行,颜色渐变,绝对定位
  2. 原码补码反码概括简介
  3. EXT中创建一个弹窗效果
  4. 白名单 权限认证方法
  5. oracle10官网下载安装,oracle11g安装(win10)下载安装
  6. CentOS配置Tair
  7. Qt工作笔记-列表的分页显示(Qt Widgets框架)
  8. EasyUI——DataGrid中嵌入Radio
  9. cisco设备vlan,trunk,以太网通道管理
  10. android 打开免打扰模式,Android 6.0设置模块免打扰功能浅析
  11. 如何用C#写一个简单的Login窗口
  12. 计算机键盘的中心键,电脑键盘上各键的功能及作用
  13. C#莱姆达表达式的使用
  14. mysql数据驱动测试_[ddt02篇]十年测试老鸟帮您解析:ddt结合excel,csv,mysql实现自动化测试数据驱动...
  15. ribbonmq超时配置_使用RabbitMQ实现订单超时取消(延迟队列)
  16. 软件工程面向对象分析
  17. Java 创建带有套接字的简单代理服务器示例
  18. Java实现窗口框架,转换金额的大小写
  19. requirejs技术
  20. 任何产品需求,挖到最后都是人性

热门文章

  1. 苹果x充电慢是什么原因_苹果手机用久了以后充电会变慢,不充电是什么原因?...
  2. 实例:分类树在合成数集上的表现(决策树)
  3. 7-189 sdut-sel-while-1 社会主义核心价值观之理解与输出
  4. IaaS,PaaS和SaaS介绍
  5. 演示iPhone屏幕
  6. 中国慈展会谱写“扶贫三部曲”
  7. 微信小程序input框输入值获取
  8. JS二维数组的访问问题
  9. TL-WN725N V3无线网卡驱动移植与wireless工具wpa_supplicant-2.6
  10. js封装获取节点class类名方法