js 通过浏览器直接打开应用程序(IOS,Android)并判断浏览器内核

本功能主要用于手机端,如果手机未安装该APP,则跳转至下载页面;否则,直接打开手机中的APP。

<div style="position:absolute; top:84%; left:24%; z-index:8;">
<a id="J-call-app" href="javascript:;"><img src="image/but01.jpg"></a>
<input id="J-download-app" type="hidden" name="storeurl" value="http://app.jiaxidezhou.com/jxmj.apk">
</div>
<script>
//js 通过浏览器直接打开应用程序(IOS,Android)
(function(){
var ua = navigator.userAgent.toLowerCase();
var t;
var config = {
/*scheme:必须*/
scheme_IOS: ‘jiaximajiang://‘,
scheme_Adr: ‘jiaximajiang://splash‘,
download_url: document.getElementById(‘J-download-app‘).value,
timeout: 600
};
function openclient() {
var startTime = Date.now();

var ifr = document.createElement(‘iframe‘);

ifr.src = ua.indexOf(‘os‘) > 0 ? config.scheme_IOS : config.scheme_Adr;
ifr.style.display = ‘none‘;
document.body.appendChild(ifr);

var t = setTimeout(function() {
var endTime = Date.now();

if (!startTime || endTime - startTime < config.timeout + 200) {
window.location = config.download_url;
} else {

}
}, config.timeout);

window.onblur = function() {
clearTimeout(t);
}
}
window.addEventListener("DOMContentLoaded", function(){
document.getElementById("J-call-app").addEventListener(‘click‘,openclient,false);

}, false);
})()
//JS判断微信、QQ内置浏览器,useragent
window.onload = function (){
var ua = navigator.userAgent.toLowerCase();
var div = document.getElementById("here");
if(ua.match(/MicroMessenger/i)==‘micromessenger‘ || ua.match(/QQ\//i) == "qq/") {
div.style.display = "block";

}else{
div.style.display = "none";
}
}
</script>

[参考]http://blog.csdn.net/coslay/article/details/46889051#t1

时间: 2024-10-15 17:26:49

js 通过浏览器直接打开应用程序(IOS,Android)并判断浏览器内核的相关文章

通过私有协议Chrome浏览器页面打开本地程序

近期方有这样的要求:这两个系统,根据一组Chrome开展,根据一组IE开展,需要Chrome添加一个链接,然后进入IE该系统的开发.这,需要Chrome跳转到创建一个链接IE浏览器指定的页面.同时也实现了跳跃的动画.第一解决的需要我们的Chrome转到IE的问题. 问题分析:从Chrome中跳转到IE,直接以http链接形式是不可能跳转到IE的,仅仅能通过单独开发的本地程序打开IE,问题是怎样让Chrome打开该程序.有一种方法能够实现:通过注冊私有协议,用户点击链接的时候直接使用私有协议调用本

iOS/Android 微信及浏览器中唤起本地APP

在微信里面打开app的指定页面,考虑到使用Url Scheme,可是微信已经禁止了,但是通过浏览器可以实现,最终是在微信里面让用户通过打开浏览器,使用安卓或者IOS开发者提供的协议短链,如贴吧APP,协议为:com.baidu.tieba:// ,微信的:weixin://实现在浏览器中打开app指定页面,通过传递不同的参数实现跳转不同的页面 而对于点击链接后,能否直接打开,可以通过下面的代码来实现. js代码 document.querySelector("#linkApp").on

js 通过浏览器直接打开应用程序(IOS,Android) 标签: androidios

实现效果 如下图所示,在手机浏览器中访问京东的手机版网站(m.jd.com),顶部会有一个广告图,点击这个广告图,如果手机上已经安装了京东App,则直接打开,如果没有安装,则开始下载. 实现方式 1.为Android应用的启动Activity设置一个Schema,如下: <data android:host="splash" android:scheme="cundong"/> 2.用户点击浏览器中的链接时,在动态创建一个不可见的iframe,并且让这个

C#注册URL协议,使用浏览器打开本地程序,类似网页上点了QQ交谈打开本地QQ客户端程序

本教程适用于Windows系统 从浏览器上打开本地程序,主要用到了本地URL协议,其实主要就是改注册表 先建立一个项目,我建的是控制台项目 在Program.cs写2个静态方法用来添加注册表.移除注册表(用浏览器打开程序主要就是靠这两个方法) /// <summary> /// 注册启动项到注册表 /// </summary> public static void Reg() { //注册的协议头,即在地址栏中的路径 如QQ的:tencent://xxxxx/xxx 我注册的是ju

微信打开网址添加在浏览器中打开提示遮罩

微信打开网址添加在浏览器中打开提示遮罩 网传方案(已失效): 使用微信打开网址时,无法在微信内打开常用下载软件,手机APP等.网上流传的各种微信打开下载链接,微信已更新基本失效,最新的一个是使用链接跳转方式:· http://mp.weixin.qq.com/mp/redirect?url=http://baidu.com#weixin.qq.com#wechat_redirect. 将链接文本中的http://baidu.com换成你的下载链接地址.本人已经测试可行.欢迎打开微信扫码测试.已经

JS判断浏览器类型方法

在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子.浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本. JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的userAgent属性来判断的.在许多情况下,值判断出浏览器类型之后,还需判

【JS】判断浏览器类型

判断原理 JavaScript是前端开发的主要语言,我们可以通过 编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另 一种是通过分析浏览器的userAgent属性来判断的.在许多情况下,值判断出浏览器类型之后,还需判断浏览器版本才能处理兼容性问题,而判断浏览器的 版本一般只能通过分析浏览器的userAgent才能知道. 判断是否为手机浏览器 匹配navigator.userAgent是否含有字符串App

js判断浏览器类型以及版本

你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器. 几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的Chrome浏览器.由于Chrome出生名门,尽管他还是个小家伙,没有人敢小看他.以后,咱们常说浏览器的“四大才子”就得改称为“五朵金花”了. 在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子.浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容

js/jQuery判断浏览器名称、内核版本、浏览器壳

1.js方法 /* 判断浏览器名称和版本 目前只能判断:ie/firefox/chrome/opera/safari 2012年5月16日23:47:08 浏览器内核UA:UA; 浏览器内核名称:NV.name; 浏览器内核版本:NV.version; 浏览器外壳名称:NV.shell; */ var NV = {}; var UA = navigator.userAgent.toLowerCase(); try { NV.name=!-[1,]?'ie': (UA.indexOf("firef