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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]实现微信浏览器内打开App Store链接相关的知识,希望对你有一定的参考价值。

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

 后来我发现如果你在微信官方后台编辑图文,把原文链接写为: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的地址了。

 

本文出自 海蓝博客,转载时请注明出处及相应链接。

本文永久链接: http://www.ildsea.com/1781.html

以上是关于[转]实现微信浏览器内打开App Store链接的主要内容,如果未能解决你的问题,请参考以下文章

微信浏览器无法下载App的解决方案 安卓微信跳转打开外部浏览器苹果跳转商店(App Store)

微信跳转浏览器源码,一键实现微信打开默认浏览器下载app的功能

js如何实现在微信浏览器内跳转外部浏览器打开指定下载链接

366API可以实现微信跳转浏览器打开指定页面的功能

苹果手机在微信内打开APP下载链接时怎么做到直接微信内下载

Mindjump-微信跳转浏览器功能源码,实现微信内自动跳转手机浏览器访问网页url