路过

如何在微信中打开app store的链接

微信浏览器是不支持打开App Store 页面的。比如你页面写 <a href=”https://itunes.apple.com/cn/app/tou-mi/id935171499?mt=8″>APP下载</a> ,在微信浏览器点击链接是没有反应的,但是如果是其他的链接地址,比如百度那就没有问题。

function viewSource() {
var redirectUrl = sourceurl.indexOf('://') < 0 ? 'https://' + sourceurl : sourceurl;
//redirectUrl = https://itunes.apple.com/us/app/id399608199
redirectUrl = 'https://' + location.host + '/mp/redirect?url=' + encodeURIComponent(sourceurl);
//此处是关键,redirectUrl = https://mp.weixin.qq.com/mp/redirect?url=https://itunes.apple.com/cn/app/tou-mi/id935171499?mt=8
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是: https://mp.weixin.qq.com/mp/redirect?url=https://mp.weixin.qq.com/mp/redirect?url=https://itunes.apple.com/cn/app/tou-mi/id935171499?mt=8。这样看,微信允许打开mp.weixin.qq.com这个host下的网页,然后用js再打开真正的页面。利用此原理,,将页面的代码写为:<a href=”https://mp.weixin.qq.com/mp/redirect?url=https://itunes.apple.com/cn/app/tou-mi/id935171499?mt=8”>APP下载</a>,在微信浏览器内可以打开app store的地址了。

评论

热度(2)