此处以君凯商联网(品质特产网站)为例
<a id="openApp" >君凯商联网</a>
许多移动端网站例如美团、京东等都会提示是否进入或下载app,或者是继续进行浏览网页版,用来提高app下载量,达到用户引流;
实现原理是将浏览器协议直接更换为打开本地app的协议,找到匹配项app后开启;或者是在页面中创建iframe,将iframe的url更换为打开app协议;触发事件的同事创建时间对象,若在单位时间内如1s内打开则清楚iframe或关闭window,若在3s后仍未打开则判定为本地没有安装app,confirm前往是否下载
var ios_schema = "唤醒协议",
ios_download_url = "https://itunes.apple/cn/app/idxxxxxxxx";
var android_schema = "唤醒协议",
android_download_url = "";
document.getElementById("openApp").onclick = function(e) {
if(/(Android)/i.test(navigator.userAgent)) {
var ifr = document.createElement("iframe");
ifr.style.display = "none";
ifr.src = android_schema;
document.body.appendChild(ifr);
window.setTimeout(function() {
document.body.removeChild(ifr);
// if(confirm("检测到您手机可能没有安装app,您要前往下载君凯商联网app吗?")) {
location.href = android_download_url;//打开app下载地址,有app同事提供
// }
}, 2000)
}
if(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
var install = false;
var loadTime = new Date();
location.href = ios_schema;
setTimeout(function() {
var outTime = new Date()
if(confirm("检测到您手机可能没有安装app,马上去苹果商店下载吧~ ")) {
location.href = ios_download_url;
}
}, 2000)
}
}
本人测试ios时,本地已安装app,但使用创建iframe无法唤醒,但直接将浏览器url替换即可唤醒,个人为找到解决方法,希望有大神帮助解答。
陕西云创科技 - Alex.Ma
更多推荐
移动端网页唤醒app
发布评论