123ing

 

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

 

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

 

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

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

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

分类:

技术点:

相关文章: