实现微信浏览器内打开App Store链接(已被和谐,失效了)
2015-10-10 16:11
453 查看
微信浏览器是不支持打开App Store 页面的,不知道微信为什么这么做。比如你页面写 <a href=”http://itunes.apple.com/us/app/id399608199″>download</a> ,在微信浏览器点击链接是没有反应的,但是如果是其他的链接地址,比如百度那就没有问题
后来我发现如果你在微信官方后台编辑图文,把原文链接写为:http://itunes.apple.com/us/app/id399608199 ,那就可以打开了,发现微信页面的“查看原文”是一个function,如下
真正的url是:http://mp.weixin.qq.com/mp/redirect?url=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fid399608199%23rd
看来微信允许打开mp.weixin.qq.com这个host下的网页,然后用js再打开真正的页面。
现在简单了,将页面的代码写为:<a href=”http://mp.weixin.qq.com/mp/redirect?url=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fid399608199%23rd”>download</a>,在微信浏览器内可以打开app store的地址了。
后来我发现如果你在微信官方后台编辑图文,把原文链接写为:http://itunes.apple.com/us/app/id399608199 ,那就可以打开了,发现微信页面的“查看原文”是一个function,如下
function viewSource() { var redirectUrl = sourceurl.indexOf('://') < 0 ? 'http://' + sourceurl : sourceurl; //redirectUrl = http://itunes.apple.com/us/app/id399608199 redirectUrl = 'http://' + location.host + '/mp/redirect?url=' + encodeURIComponent(sourceurl); //此处是关键,redirectUrl = http://mp.weixin.qq.com/mp/redirect?url=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fid399608199%23rd var opt = { url: '/mp/advertisement_report' + location.search + '&report_type=3&action_type=0&url=' + encodeURIComponent(sourceurl) + '&uin=' + uin + '&key=' + key + '&__biz=' + biz + '&r=' + Math.random(), type: 'GET', async: !1 }; return tid ? opt.success = function (res) { try { res = eval('(' + res + ')'); } catch (e) { res = { }; } res && res.ret == 0 ? location.href = redirectUrl : viewSource(); } : (opt.timeout = 2000, opt.complete = function () { location.href = redirectUrl; }), ajax(opt), !1; }
真正的url是:http://mp.weixin.qq.com/mp/redirect?url=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fid399608199%23rd
看来微信允许打开mp.weixin.qq.com这个host下的网页,然后用js再打开真正的页面。
现在简单了,将页面的代码写为:<a href=”http://mp.weixin.qq.com/mp/redirect?url=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fid399608199%23rd”>download</a>,在微信浏览器内可以打开app store的地址了。
相关文章推荐
- 【转】ubuntu连接android设备(附最简单方法)
- Android调试 Logcat中查看System.out信息
- Android - Activity的生命周期
- Unity3D中的Coroutine详解
- Android Camera HAL3中预览preview模式下的控制流
- iOS 8 AutoLayout与Size Class自悟
- 75.iOS使用KeyChain存储数据与不同App间共享数据
- iOS 支付宝支付
- Android html5页面拨打电话号码发短信发邮箱
- 斯坦福大学iOS7应用开发笔记一(未完)
- Android 根据时间戳转换成多久之前
- 使用APKTOOL 反编译APK 失败的解决方法
- android studio java.lang.UnsatisfiedLinkError
- 我的Android进阶之旅------>Android中查看应用签名信息
- Unity3d中Shader的基本属性以及定义
- OC之非正式协议总结
- Android 自定义布局dialog使用(解决edittext无法弹出输入法的问题)
- Android进程级别与如何防止服务进程被回收
- Android关于ListView显示SD卡上的Bitmap的图片(图片压缩之后)
- 使用AppCan自带的升级功能实现移动端升级