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

作者: ldsea 分类: 程序生活 发布时间: 2014-05-09 22:17

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

 

后来我发现如果你在微信官方后台编辑图文,把原文链接写为:http://itunes.apple.com/us/app/id399608199 ,那就可以打开了,发现微信页面的“查看原文”是一个function,如下

[code lang=”js”]
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;
}
[/code]

真正的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的地址了。

64条评论
  • hank

    2014年9月30日 14:38

    下载文件的话不行也。

  • hank

    2014年9月30日 14:38

    下载文件的话不行也。

  • zxyalh

    2014年11月28日 09:34

    你好, 我想链接到APP store的英文下载地址,按照这么替换了有问题

  • zxyalh

    2014年11月28日 09:34

    你好, 我想链接到APP store的英文下载地址,按照这么替换了有问题

  • 天方达-网站工程师

    2014年11月28日 17:23

    成功帮我解决问题,赞一个!其实链接不用更改编码也可以,就在原编码前面加上http://mp.weixin.qq.com/mp/redirect?url=就可以了

    1. 张昱

      2014年12月11日 15:46

      怎么可以做的的?麻烦教教我 ,我的客户端https://itunes.apple.com/cn/app/yi-zhu-li/id907023587

  • 天方达-网站工程师

    2014年11月28日 17:23

    成功帮我解决问题,赞一个!其实链接不用更改编码也可以,就在原编码前面加上http://mp.weixin.qq.com/mp/redirect?url=就可以了

    1. 张昱

      2014年12月11日 15:46

      怎么可以做的的?麻烦教教我 ,我的客户端https://itunes.apple.com/cn/app/yi-zhu-li/id907023587

  • 王平

    2014年12月29日 13:58

    搞定,赞一个

  • 王平

    2014年12月29日 13:58

    搞定,赞一个

  • 于江水

    2014年12月31日 15:55

    解决了,赞

    1. 徐红云

      2015年9月30日 17:42

      怎么解决的,发代码看下呀,大神

  • 于江水

    2014年12月31日 15:55

    解决了,赞

    1. 徐红云

      2015年9月30日 17:42

      怎么解决的,发代码看下呀,大神

  • 测试专用

    2015年1月20日 20:27

    大神,跪拜。解决了我一大问题。

  • 测试专用

    2015年1月20日 20:27

    大神,跪拜。解决了我一大问题。

  • 风逐蓝天

    2015年2月10日 14:17

    现在应该失效了。。

    1. 李亚男

      2015年2月12日 17:49

      微信升级了,失效了。

      1. Verbin

        2015年2月14日 10:24

        那么现在是怎么处理的呢? 麻烦看到后告知一下!

    2. Verbin

      2015年2月14日 10:24

      升级后是失效了 ,但是现在是怎么搞得呢?

      1. 丁勇

        2015年2月25日 13:47

        金山电池医生分享app到朋友圈 照样可以跳转

  • 风逐蓝天

    2015年2月10日 14:17

    现在应该失效了。。

    1. 李亚男

      2015年2月12日 17:49

      微信升级了,失效了。

      1. Verbin

        2015年2月14日 10:24

        那么现在是怎么处理的呢? 麻烦看到后告知一下!

        1. sophiehui99

          2016年7月7日 11:57

          可以直接用安卓应用宝的下载地址。然后会自动识别到苹果的应用商店。

    2. Verbin

      2015年2月14日 10:24

      升级后是失效了 ,但是现在是怎么搞得呢?

      1. 丁勇

        2015年2月25日 13:47

        金山电池医生分享app到朋友圈 照样可以跳转

  • Huan

    2015年3月2日 10:26

    现在不行了

  • Huan

    2015年3月2日 10:26

    现在不行了

  • 领而随之_381

    2015年3月2日 15:32

    果然不行了,现在只是显示“正在跳转”就不动了

  • 领而随之_381

    2015年3月2日 15:32

    果然不行了,现在只是显示“正在跳转”就不动了

  • MINA67091

    2015年5月15日 09:42

    很伤心~~~~~~~~~~~~~~~刚测试,真的不行了,只显示“正在跳转”就不动了

    1. SunShine

      2015年5月18日 09:41

      你现在弄好了么?

  • MINA67091

    2015年5月15日 09:42

    很伤心~~~~~~~~~~~~~~~刚测试,真的不行了,只显示“正在跳转”就不动了

    1. SunShine

      2015年5月18日 09:41

      你现在弄好了么?

  • 王海峰

    2015年7月16日 12:14

    大神啊大神你在哪里, 这个贴子好久了,现在的的情况更特殊。跳转不了。

  • 王海峰

    2015年7月16日 12:14

    大神啊大神你在哪里, 这个贴子好久了,现在的的情况更特殊。跳转不了。

  • ffio

    2015年7月24日 09:20

    有人解决了么。。。TT

  • ffio

    2015年7月24日 09:20

    有人解决了么。。。TT

  • roller

    2015年7月24日 10:40

    求大神出来解决啊,现在不行了

    1. ZE3kr

      2015年8月4日 07:05

      目前只能让用户按住识别二维码了

  • roller

    2015年7月24日 10:40

    求大神出来解决啊,现在不行了 [dx泪奔]

    1. ZE3kr

      2015年8月4日 07:05

      目前只能让用户按住识别二维码了

  • 小小前端开发

    2015年9月1日 17:17

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

  • 小小前端开发

    2015年9月1日 17:17

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

  • 水逸若寒

    2015年9月16日 10:35

    留个爪…….现在这个是一大难题。。。。
    微信不断升级,跳不了了啊。。!!

  • 水逸若寒

    2015年9月16日 10:35

    留个爪…….现在这个是一大难题。。。。
    微信不断升级,跳不了了啊。。!!

  • 陈小予

    2015年9月20日 07:45

    网站棒棒哒

  • 陈小予

    2015年9月20日 07:45

    网站棒棒哒

  • 陈玟予

    2015年9月20日 18:17

    网站做的好棒哦

  • 陈玟予

    2015年9月20日 18:17

    网站做的好棒哦

  • 燊盺婺壅

    2015年9月23日 11:02

    申请应用宝吧 跳转aps 还要再申请个东西

  • 燊盺婺壅

    2015年9月23日 11:02

    申请应用宝吧 跳转aps 还要再申请个东西

  • 笑话大全

    2015年10月1日 15:18

    网站不错很漂亮,欢迎互访!

  • 笑话大全

    2015年10月1日 15:18

    网站不错很漂亮,欢迎互访!

  • mygia

    2015年10月15日 23:15

    这个方法失效了啊。

    1. 偷鸡喂狗之徒

      2015年10月16日 12:35

      的确啊,你怎么解决的????我的一直显示跳转中

  • 陈小予

    2015年12月21日 01:46

    过来看看

  • tolerious

    2016年1月14日 10:29

    现在不行了、

    1. 海蓝

      2016年1月20日 00:49

      是的,已经失效

  • 2016年1月28日 01:17

    怎么搞啊

  • KID KROC

    2016年3月7日 14:48

    这样写的话,微信时可以了,那普通的浏览器呢?

    1. weiv

      2016年3月31日 11:38

      ua 可以区分的

  • 高天

    2016年12月8日 10:05

    赞一个 厉害了 兄弟

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注