iOS和Android用同一個二維碼實現(xiàn)跳轉(zhuǎn)下載鏈接的方法
前言
最近一個項目需要iOS和安卓使用一個二維碼,讓掃描的機(jī)器自己識別操作系統(tǒng)實現(xiàn)跳轉(zhuǎn)到相應(yīng)的下載鏈接。比如iPhone用微信進(jìn)行掃描就讓他跳轉(zhuǎn)appStore的下載頁面,安卓機(jī)器使用微信掃描就直接跳瀏覽器下載。但是這二維碼還有一個需求就是,用戶已經(jīng)下載了這個app,當(dāng)用戶打開app進(jìn)入到注冊頁面時,再次掃描這個二維碼時,自動填寫邀請碼進(jìn)行注冊。那么該如何實現(xiàn),細(xì)節(jié)就不說了,直接上代碼。
使用js實現(xiàn),其實代碼非常簡單.
使用時直接拷貝代碼,改掉相應(yīng)的鏈接就好。
PS:該鏈接在微信環(huán)境打開時還是需要手動跳轉(zhuǎn)到手機(jī)的瀏覽器才能跳到下載頁面,因為微信內(nèi)的webView比較特別,所以寫了一個alert引導(dǎo)用戶打開瀏覽器。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
/**
出來的鏈接大概是長這樣的
http://xxxx.cn/243423.html?c=Q23DR32
*/
// c=Q23DR32是注冊時掃描獲取的邀請碼。
// 這樣加參數(shù),后面的參數(shù)會被自動忽略,不會影響加載此網(wǎng)頁
goDownload();
// 去下載
function goDownload() {
var u = navigator.userAgent, app = navigator.appVersion;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1;
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
// 是安卓瀏覽器
if (isAndroid) {
window.location.; // 跳安卓端下載地址
}
// 是iOS瀏覽器
if (isIOS) {
window.location.; // 跳AppStore下載地址
}
// 是微信內(nèi)部webView
if (is_weixn()) {
alert("請點擊右上角按鈕, 點擊使用瀏覽器打開");
}
// 是PC端
if (IsPC()) {
window.location.; // 公司主頁
}
}
// 是微信瀏覽器
function is_weixn(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
return true;
} else {
return false;
}
}
function IsPC() {
var userAgentInfo = navigator.userAgent;
var Agents = ["Android", "iPhone",
"SymbianOS", "Windows Phone",
"iPad", "iPod"];
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}
</script>
</body>
</html>
總結(jié)
以上就是iOS和Android用同一個二維碼實現(xiàn)跳轉(zhuǎn)下載鏈接的方法,大家都學(xué)會了嗎,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有更好的解決方案或可以通過代碼判斷微信客戶端的系統(tǒng)環(huán)境的方法請留言交流。
- Android實現(xiàn)二維碼掃描和生成的簡單方法
- Android上使用ZXing識別條形碼與二維碼的方法
- Android開發(fā)框架之自定義ZXing二維碼掃描界面并解決取景框拉伸問題
- Android項目實戰(zhàn)(二十八):使用Zxing實現(xiàn)二維碼及優(yōu)化實例
- 基于Android實現(xiàn)個性彩色好看的二維碼
- Android基于google Zxing實現(xiàn)各類二維碼掃描效果
- Android 二維碼 生成和識別二維碼 附源碼下載
- Android平臺生成二維碼并實現(xiàn)掃描 & 識別功能
- Android編程實現(xiàn)二維碼的生成與解析
- Android掃描和生成二維碼
相關(guān)文章
JavaScript清空數(shù)組元素的兩種方法簡單比較
這篇文章主要介紹了JavaScript清空數(shù)組元素的兩種方法簡單比較,羅列了幾種常見的情況javascript數(shù)組的方法,并且比較了其中的兩種常見方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07
JavaScript中停止執(zhí)行setInterval和setTimeout事件的方法
這篇文章主要介紹了JavaScript中停止執(zhí)行setInterval和setTimeout事件的方法,本文給出操作實例代碼和語法介紹,需要的朋友可以參考下2015-05-05
JS使用cookie實現(xiàn)DIV提示框只顯示一次的方法
這篇文章主要介紹了JS使用cookie實現(xiàn)DIV提示框只顯示一次的方法,涉及JavaScript基于cookie標(biāo)記控制頁面元素樣式修改的技巧,需要的朋友可以參考下2015-11-11
javascript使用Blob對象實現(xiàn)的下載文件操作示例
這篇文章主要介紹了javascript使用Blob對象實現(xiàn)的下載文件操作,結(jié)合實例形式分析了javascript使用Blob對象下載文件相關(guān)原理、操作技巧與注意事項,需要的朋友可以參考下2020-04-04
找出字符串中出現(xiàn)次數(shù)最多的字母和出現(xiàn)次數(shù)精簡版
找出字符串中出現(xiàn)次數(shù)最多的字母和出現(xiàn)次數(shù)精簡版,有需求的朋友可以參考下2012-11-11
attachEvent的使用方法與傳遞參數(shù)[IE|firefox]
attachEvent的使用方法與傳遞參數(shù)[IE|firefox]...2007-05-05

