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. bugku | login2(SKCTF) 200

    在响应包里面发现tips,base64解码后看到提示信息: $sql="SELECT username,password FROM admin WHERE username='". ...

  2. oracle11g笔记

    安装 #!/bin/bash #安装oracle110203 pageDir="/opt/tools/oracle" bdFile="/tmp/bdFile.txt&qu ...

  3. 自动收集有效IP代理

    自动收集有效IP代理 #需要的外部依赖包requests和lxml#自动获取的代理ip数据保存为”IP代理池.txt“#read_ip函数用于提取”IP代理池.txt“的数据返回类型为列表from l ...

  4. 五. jenkins部署springboot项目(2)--windows环境--服务

    前提:jenkins和springboot运行在同一台机器 springboot 通过winsw部署为服务 winsw 下载地址:https://github.com/kohsuke/winsw/re ...

  5. leetcode-解题记录 771. 宝石与石头

    题目: 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. J 中的字母不重复,J 和 S中的所有字符 ...

  6. ASP.NET开发知识总结

    1.统一异常处理 某商城采用的异常处理方式,是全局统一捕捉,统一处理 思路: 一.定义异常过滤器    实现 MyExceptionFilter : FilterAttribute,IExceptio ...

  7. laravel 向多视图及所有视图传递数据变量

    向单个视图传递变量 1.使用with()方法 : view('user.lists')->with('title',$title); 2.直接view()传参: view('user.lists ...

  8. python字符串常用函数-大小写,删除空格,字符串切片

  9. PAT甲级【2019年9月考题】——A1162 MergingLinkedLists【25】

    7-2 Merging Linked Lists (25 分) Given two singly linked lists L 1 =a 1 →a 2 →...→a n−1 →a n  L1=a1→a ...

  10. fiddler如何抓取https接口

    1.Fiddler工作原理:    Fiddler 是以代理 web 服务器的形式工作的,它使用代理地址:127.0.0.1端口:8888. 当 Fiddler 退出的时候它会自动注销,这样就不会影响 ...