h5如何叫醒app-
h5唤起app这种需求是常见的。在挪移为王的时期,h5在app导流上发挥着重要的作用。
三种唤起方案
当前我们采纳的唤起方式是url scheme(iOS,Android平台都支撑),只需原生APP开发时注册scheme, 那么会员点击到此类链接时,会主动跳到APP。
var last = Date.now(), doc = window.document, ifr = doc.createElement('iframe'); //新建一个隐蔽的iframe ifr.src = nativeUrl; ifr.style.cssText = 'display:none;border:0;width:0;height:0;'; doc.body.appendChild(ifr); setTimeout(function() { doc.body.removeChild(ifr); //setTimeout回小于2000个别为唤起失败 if (Date.now() - last < 2000) { if (typeof onFail == 'function') { onFail(); } else { //弹窗提示或下载处理等 } } else { if (typeof onSuccess == 'function') { onSuccess(); } } }, 1000);
iframe方案的唤起道理是: 程序切换到后台时,计时器会被延迟(计时器不准的又一种状况)。要是app被叫醒那么网页必定就进入了后台,要是会员从app切回归,那么工夫个别会超过2s;若app没有被唤起,那么网页不会进入后台,setTimeout根本准时触发,那么工夫不会超过2s。
window.location.href直接跳转
window.location.href = nativeUrl;
a标签唤起
唤起app
对照iframe唤起和location.href,我们可以发明:
关于ios来说,location.href跳转更合适,由于这种方式可以在Safari中成功唤起app。Safari作为苹果默许阅读器其重要性就不消多说了,而关于微信和qq客户端,ios中这两种方式都没有什么卵用==
关于Android来说,在进入页面直接唤起的状况下,iframe和location.href是同样的,但是要是是事件驱动的唤起,iframe唤起的体现比location.href要更好一点。
通过测试可以发明,进入页面直接唤起和事件驱动的唤起,关于许多阅读器,两者的体现是不一样的,简略来说,直接唤起的失败更多。
通过上述对照剖析,Android运用iframe唤起,ios采纳window.location.href唤起更合适一点。
信赖看了这些案例你已经把握了办法,更多出色请关注 百分百源码网 其它相干文章!
相干浏览:
H5的web当地存储怎样运用
H5如何实现拖放功能
H5的进阶段内联标签
以上就是h5如何叫醒app的细致内容,更多请关注 百分百源码网 其它相干文章!