[轉]實現微信瀏覽器內打開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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM