1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <script>
  7. document.addEventListener('DOMContentLoaded', function () {
  8. document.querySelector('.downlink').addEventListener('click', function () {
  9. var loadDateTime = new Date(),
  10. href = location.href,
  11. appInnerUrlPrefix = 'http://a.app.qq.com/o/simple.jsp?pkgname=',
  12. newHref = href.substring(href.indexOf('//') + 2)
  13. var isiOS = navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone') || navigator.userAgent.match(
  14. 'iPod'),
  15. isAndroid = navigator.userAgent
  16. .match('Android'),
  17. isDesktop = !isiOS && !isAndroid;
  18. if (isiOS) {
  19. newHref = appInnerUrlPrefix + "com.zhulogic.xita_home";
  20. } else if (isAndroid) {
  21. newHref = appInnerUrlPrefix + "com.zhulogic.xita_home&g_f=991653";
  22. } else {
  23. newHref = appInnerUrlPrefix + "com.zhulogic.xita_home&g_f=991653";
  24. }
  25. setTimeout(function () {
  26. console.log(newHref);
  27. var timeOutDateTime = new Date();
  28. if (!loadDateTime || timeOutDateTime - loadDateTime < 1210) {
  29. location.href = newHref;
  30. }
  31. }, 1200);
  32. location.href = 'zhulogic://';
  33. }, false)
  34. }, false)
  35. </script>
  36. </head>
  37. <body>
  38. <div class="downlink" style="background-color: red;height: 300px;width: 300px;">
  39. </div>
  40. </body>
  41. </html>
  • 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

js判断是否安装app,安装打开app的更多相关文章

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

    本文实例讲解了js判断移动端是否安装某款app的多种方法,分享给大家供大家参考,具体内容如下 第一种方法: 一:判断是那种设备 ? || u.indexOf(; //android终端或者uc浏览器 ...

  2. 一个JS判断客户端是否已安装某个字体(Only IE)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. js判断页面在pc端打开还是移动端打开

    js判断页面在pc端打开还是移动端打开,分别跳转不同的index.html window.addEventListener('load', function() { // true为手机,false为 ...

  4. js判断移动端是否安装某软软件,安装直接打开相应的链接,否则跳转到下载商店方法

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. JS判断手机端是否安装某应用

    方法一(网页上判断) if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {   var loadDateTime = new Date() ...

  6. js判断当前浏览器是否是源生app的webview

    有些时候,我们在开发过程中需要判断,当前页面被打开是否是处于源生的webview里面,或者NODEJS做服务器后端支持的时候,判断请求来源是否来至于源生webview里面被打开的页面请求GET/POS ...

  7. js 判断移动端是否安装应用

    var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > ...

  8. JS判断在哪一端浏览器打开

    <script src="js/jquery-2.2.3.min.js"></script> <script> var browser = { ...

  9. js判断浏览器在PC中打开还是移动设备中打开

    var browser = {                            versions: function () {                                va ...

  10. js判断页面从何种浏览器打开

    问题 有时项目需要根据不同的设备进行不同的处理,需要判断到底是哪种设备打开了项目. 移动端浏览器检测 移动终端浏览器版本信息: var browser = { versions: function ( ...

随机推荐

  1. bzoj 2242: [SDOI2011]计算器 & BSGS算法笔记

    这题的主要难点在于第三问该如何解决 于是就要知道BSGS是怎样的一种方法了 首先BSGS是meet in the middle的一种(戳下面看) http://m.blog.csdn.net/blog ...

  2. jmeter添加自定义扩展函数之if判断

    1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这 ...

  3. APP测试功能点

    1.使用APP时手机耗电情况 2.APP占用手机内存 3.APP在不同网络下的使用情况(WiFi/4G/3G/2G) 4.APP安装包大小 5.APP流量消耗 6.APP支持系统版本(android, ...

  4. SAP Smartforms打印输出条形码 及相关问题

    最近凭证打印需要附加打印条形码,遂做了一个小例子,结果还出现了很多的小问题,按领导的话说,这就是经验! 首先:SE73 -> 系统条形码 -> 更改 -> 创建 -> 选择 N ...

  5. Spark Streaming + Kafka 整合向导之createDirectStream

    启动zk: zkServer.sh start 启动kafka:kafka-server-start.sh $KAFKA_HOME/config/server.properties 创建一个topic ...

  6. 简述IOC和AOP的作用

    IOC: 控制反转,是一种设计模式.一层含义是控制权的转移:由传统的在程序中控制依赖转移到由容器来控制:第二层是依赖注入:将相互依赖的对象分离,在spring配置文件中描述他们的依赖关系.他们的依赖关 ...

  7. Educational Codeforces Round 33 D. Credit Card

    Credit Card time limit per test2 seconds memory limit per test256 megabytes Recenlty Luba got a cred ...

  8. 九、hibernate的查询(QBC)

    QBC:Query By Criteria 条件查询 比较适合组合条件查询 QBC查询 简单查询 创建Criteria对象:Criteria criteria = session.createCrit ...

  9. 回车\r的含义

    package main import "fmt" func main() { // \r 回车,从当前行的最前面开始输出,覆盖掉以前的内容 // 输出:曹操刘备关羽 fmt.Pr ...

  10. Centos防火墙设置与端口开放

    前言 最近在部署项目的时候遇到了一些问题,阿里云主机要配置安全组策略和端口.对于这点看到了一片好的博文,特此总结记录下. iptables 方法一 打开某个端口 // 开启端口 iptables -A ...