实现微信浏览器内打开App Store链接

微信浏览器是不支持打开App Store 页面的,不知道微信为什么这么做。比如你页面写 <a href=”http://itunes.apple.com/us/app/id903800747″>download</a> ,在微信浏览器点击链接是没有反应的,但是如果是其他的链接地址,比如百度那就没有问题

后来我发现如果你在微信官方后台编辑图文,把原文链接写为:http://mp.weixin.qq.com/mp/redirect?url=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fid903800747%23rd,那就可以打开了,发现微信页面的“查看原文”是一个function,如下

1function viewSource() {
2var redirectUrl = sourceurl.indexOf('://') < 0 ? 'http://' + sourceurl : sourceurl;
4redirectUrl = 'http://' + location.host + '/mp/redirect?url=' + encodeURIComponent(sourceurl);
6var opt = {
7url: '/mp/advertisement_report' + location.search + '&report_type=3&action_type=0&url=' + encodeURIComponent(sourceurl) + '&uin=' + uin + '&key=' + key + '&__biz=' + biz + '&r=' + Math.random(),
8type: 'GET',
9async: !1
10};
11return tid ? opt.success = function (res) {
12try {
13res = eval('(' + res + ')');
14} catch (e) {
15res = {
16};
17}
18res && res.ret == 0 ? location.href = redirectUrl : viewSource();
19}
20: (opt.timeout = 2000, opt.complete = function () {
21location.href = redirectUrl;
22}),
23ajax(opt),
24!1;
25}

真正的url是:http://mp.weixin.qq.com/mp/redirect?url=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fid903800747%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%2Fid903800747%23rd”>download</a>,在微信浏览器内可以打开app store的地址了。

 

 

转自:http://www.ildsea.com/1781.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值