|  |      1frontman OP ?? | 
|  |      2NemoAlex      2014-08-05 16:10:16 +08:00 老的解决方案是: App 可以向系统注册私有协议,你写个链接 <a href="foo://xxx"></> 类似这样的 JavaScript 绑个点击事件,用户点击以后延迟1秒跳转到 store 页面 于是如果用户有装应用的话就会跳转到应用,没有装的话1秒以后会去 store 不过微信的浏览器貌似会拦截去 store 的链接,这个要你自己研究下了 | 
|  |      4frontman OP 额 怎么跳呢 | 
|  |      5frontman OP 查了好久 原因是iso的新版微信阻止在微信内部打开第三方app,所以还是用之前的链接,但是打开的时候需要一些操作 ,这里有个小哥描述的很清楚     http://dearb.me/archive/2013-11-07/ios7-weixin-unsupport-redirect-to-app-store/ | 
|  |      6yudun1989      2014-08-05 18:32:32 +08:00 iframe | 
|  |      7hoogle      2014-08-05 21:17:52 +08:00 via iPhone  1 微信不能  转到Safari用scheme | 
|      8siteshen      2014-08-06 01:12:57 +08:00 上面的解决方案对iOS和比较Android手机够用了,我再补充一下网页在weibo客户端(系统Android 4.1.2版,怀疑其他老版本Weibo客户端也有此问题)遇到的坑: 1. window.location = "intent://story/33195#Intent;package=xxx;scheme=zbd;end;"; 该客户端中,直接跳转过去了,出现的是一个类似404的页面; 2. 该客户端中的UserAgent和默认浏览器的完全一样,没法判断是在微博客户端里的。 解决方案,最终检查header时发现refer字段里有m.weibo.cn字样,就用这个方案判断了。 source = $('body').data('source'); IS_WECHAT = /micromessenger/i.test(navigator.userAgent); IS_WEIBO_SOURCE = source && /weibo/i.test(source); IS_WEIBO_UA = /weibo/i.test(navigator.userAgent); IS_WEIBO = !IS_WECHAT && (IS_WEIBO_UA || IS_WEIBO_SOURCE); // 微信和微博多数“[在浏览器中打开]”显示在“右上角”,然后还设计了个箭头、囧 if (IS_WEIBO_SOURCE && !IS_WEIBO_UA) { $('.font-attention.browser-btn').text('右下角'); $('.tips-arrow').hide(); } if (IS_WEIBO || IS_WECHAT) { $('.browser-tips').show(); return $('.browser-tips .browser-tips-mask').on('click', function(e) { return $('.browser-tips').hide(); }); } |