点击app分享链接,js判断手机是否安装某款app,有就尝试打开,没有就下载
html:
<h1 class="downlink"> 前往 </h1>
js:
document.addEventListener('DOMContentLoaded', function () { 
    document.querySelector('.downlink').addEventListener('click', function () {  
        openApp() 
    }, false)  
}, false)  ;
function openApp(){  
    var ua = window.navigator.userAgent.toLowerCase();  
    //微信  
    if(ua.match(/MicroMessenger/i) == 'micromessenger'){  
        window.location.href='downLoadForPhone';  
    }else{//非微信浏览器  
        if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {  
            var loadDateTime = new Date();  
            window.setTimeout(function() {  
                var timeOutDateTime = new Date();  
                if (timeOutDateTime - loadDateTime < 5000) {  
                    window.location = "http://www.mffive.com:8080/Five_v1.0.1.apk";//ios下载地址  
                } else {  
                window.close();  
                }  
            },2000);  
            window.location = "five://"; //由ios提供
          }else if (navigator.userAgent.match(/android/i)) {  
            var state = null;  
            try {  
                window.location = 'five://'; //由android提供 
                setTimeout(function(){  
                    window.location= "http://www.mffive.com:8080/Five_v1.0.1.apk"; //android下载地址
},500);  
            } catch(e) {}  
        }  
    }  
}
对微信可能有问题
点击app分享链接,js判断手机是否安装某款app,有就尝试打开,没有就下载的更多相关文章
- js判断手机是否安装了某一款app,有则打开,没有去下载
		
function openApp(){ if(navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) { var loadDateTime = new ...
 - 利用 html js判断 客户端是否安装了某个app 安装了就打开 否则跳转到gp
		
三种方式 方式一:简单的进行打开app,延时操作若未打开直接跳gp function isInstalled(){ var urlFrag = 'somepars'; var the_href = ' ...
 - JS判断是否是微信页面,判断手机操作系统(ios或android)并跳转到不同下载页面
		
JS判断客户端是否是iOS或者Android 参考:http://caibaojian.com/browser-ios-or-android.html function is_weixin() { v ...
 - js判断移动端是否安装某款app的多种方法
		
本文实例讲解了js判断移动端是否安装某款app的多种方法,分享给大家供大家参考,具体内容如下 第一种方法: 一:判断是那种设备 ? || u.indexOf(; //android终端或者uc浏览器 ...
 - HTML中判断手机是否安装某APP,跳转或下载该应用
		
有些时候在做前端输出的时候,需要和app的做些对接工作.就是在手机浏览器中下载某app时,能判断该用户是否安装了该应用.如果安装了该应用,就直接打开该应用:如果没有安装该应用,就下载该应用.那么下面就 ...
 - js判断手机浏览器操作系统和微信浏览器的方法
		
做手机端的前端开发,少不了对手机平台的判断.如,对于app下载,就要判断在Android平台下就显示Android下载提示:在iOS平台下就显示iOS下载提示. 今天就为大家介绍一下用js判断手机客户 ...
 - js判断手机 横屏模式
		
js判断手机 横屏模式 方法名称:orientation 实例: if(window.orientation!=0){ var obj=document.getElementById('orienta ...
 - js判断浏览器是否安装或启用了flash的方法总结
		
目录 # js判断浏览器是否安装或启用了flash的方法 # chrome浏览器启用flash插件的方法 # 参考 # js判断浏览器是否安装或启用了flash的方法 在传统浏览器,可以使用windo ...
 - 如何在app里利用js调取手机第三方地图--以高德地图和百度地图为例(2)
		
接着上篇文章说一下js调取第三方地图的问题,上次的方式是通过一个链接直接接到了第三方的web页面,又从第三方的web页面调用的第三方app;结果,这个方法被否定了,因为需求不是这样,需求直接就想调用第 ...
 
随机推荐
- Spark2.2(三十九):如何根据appName监控spark任务,当任务不存在则启动(任务存在当超过多久没有活动状态则kill,等待下次启动)
			
业务需求 实现一个根据spark任务的appName来监控任务是否存在,及任务是否卡死的监控. 1)给定一个appName,根据appName从yarn application -list中验证任务是 ...
 - js 图片base64转file文件的两种方式
			
js 图片base64转file文件的两种方式 https://blog.csdn.net/yin13037173186/article/details/83302628 //将base64转换为bl ...
 - c#  System.Threading.Thread
			
using System; using System.Threading; // Simple threading scenario: Start a static method running // ...
 - PHP中一些常用知识点
			
1.json字符串转json对象 $data='[{"user_id":"93","price":"52.50"},{& ...
 - c#中@标志的作用  C#通过序列化实现深表复制  细说并发编程-TPL  大数据量下DataTable To List效率对比  【转载】C#工具类:实现文件操作File的工具类  异步多线程 Async  .net 多线程 Thread ThreadPool Task  .Net 反射学习
			
c#中@标志的作用 参考微软官方文档-特殊字符@,地址 https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/toke ...
 - linux 命令之top
			
top命令是显示当前系统正在执行的进程相关信息.包含进程ID.内存占用率等:top命令格式例如以下: top [OPTIONS] OPTIONS: -b 批处理 -c 显示进程的完整名 -I 忽略失效 ...
 - 【Shiro】小读Shiro Filter
			
类继承结构图 看不明白此图不要紧,后面慢慢提到此图的类: AbstractFilter,抽象过滤器 它实现Filter.继承ServletContextSupport. 它主要实现了init(Filt ...
 - Git分支操作——查看、新建、删除、提交、合并
			
查看分支 1 查看本地分支 $ git branch 2 查看远程分支 $ git branch -r 创建分支 1 创建本地分支 $ git branch branchName 2 切换 ...
 - es中queryBuilders api
			
package com.elasticsearch; import org.elasticsearch.action.ActionListener; import org.elasticsearch. ...
 - python 解除装饰器,调用原本函数。
			
假设fun函数被装饰器装饰了,name调用fun,就不是调用fun本身了,那么如何继续调用本身呢.使用fun_raw = fun.__wrapped__这样使用fun_raw就是调用没被装饰器修饰后的 ...