ios9+ 用 universal link,ios9 以下还是用原来的schema。
另外注意universal link的一个特殊表现:http://stackoverflow.com/ques...
ios9系统下,safari下通过iframe(schema)的方式跳app,无法打开app,通过location.href=scheme
的方式倒是可以,不过在没有安装app时,这种方式可能会直接跳转到一个错误页面(无法打开url之类)。另外,ios9下有一个新问题:
由于要考虑用户没有安装app的情况,所以当用户没有安装时(通过计时器判断)会跳转到app store,在ios9下,当跳转app时,会弹出一个弹框,让用户选择是否跳转,此时还在当前页,setTimeout中的代码会继续执行,导致用户还没选择,就已经跳到app store。
location.href = schema;
setTimeout(function(){
// 未唤醒客户端
var hidden = document.hidden || document.webkitHidden;
if (!hidden &&
(new Date().getTime() - openTime < 600)) {
window.location.href = downloadUrl;
}
}, 500);
那么,问题来了
如何保证在用户没有选择是否跳转应用之前不执行setTimeout中的代码
采用location的方式,可能会遇到跳错误页面的情况(暂时没有真机测试),有什么解决方案么?
相关问题:
http://stackoverflow.com/ques...
http://stackoverflow.com/ques...
兼容 iOS 9 Safari 的应用跳转方案探索 (感觉有点麻烦,而且未必work)
Nous venons d'utiliser la solution deepshare maintenant, et nous devons profiter des nouvelles fonctionnalités du lien universel sur ios9
Implémentation 3G de NetEase 163, mais je ne sais pas comment faire
J'ai du mal depuis deux jours et je n'arrive toujours pas à le faire... L'affiche a-t-elle réussi maintenant, la solution de Taobao n'est-elle pas parfaite non plus
3g.163 utilise le lien universel sur ISO, et les délais sur Android.