方法一(网页上判断)
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 =
"要跳转的页面URL"
;
}
else
{
window.close();
}
},
25);
window.location =
"www://?param1=xxx¶m2=xxx "
;//与APP约定的一个协议URL
}
else
if
(navigator.userAgent.match(/androID/i)) {
var
state =
null
;
try
{
state = window.open(
"www://?param1=xxx¶m2=xxx "
,
‘_blank‘
);//与APP约定的一个协议URL
}
catch
(e) {}
if
(state) {
window.close();
}
else
{
window.location =
"要跳转的页面URL"
;
}
}
方法二
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);
}
方法三(APP里判断)
var
isAndroID = u.indexOf(
‘AndroID‘
) > -1 || u.indexOf(
‘linux‘
) > -1;
@H_416_419@//androID终端或者uc浏览器 var
isiOS = !!u.match(/\(i[^;]+;( U;)? cpu.+Mac OS X/);
@H_416_419@//ios终端
if
(isAndroID){
function
androID(){
window.location.href =
"www://?param1=xxx¶m2=xxx"
;
@H_416_419@/***打开app的协议,有安卓同事提供***/
window.setTimeout(
function
(){
window.location.href =
"http://"
;
@H_416_419@/***下载app的地址***/
},2000);
};
if
(isiOS){
function
ios(){
var
ifr = document.createElement(
"iframe"
);
ifr.src =
"www://?param1=xxx¶m2=xxx"
;
@H_416_419@/***打开app的协议,有ios同事提供***/
ifr.style.display =
"none"
;
document.body.appendChild(ifr);
window.setTimeout(
function
(){
document.body.removeChild(ifr);
window.location.href =
"http://"
;
@H_416_419@/***下载app的地址***/
},2000)
};
}
总结 以上是内存溢出为你收集整理的JS判断手机端是否安装某应用全部内容,希望文章能够帮你解决JS判断手机端是否安装某应用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)