一,脚本逻辑代码。
一般的脚本代码里,写死了IOS和android的下载地址。那我动态设置的话,就是通过二维码信息里面的url把下载地址作为参数传到脚本代码,然后脚本取来作为跳转地址。具体代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Download</title>
<script type="text/javascript">
var browser = {
versions: function() {
var u = navigator.userAgent,
app = navigator.appVersion;
return { //移动终端浏览器版本信息
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
function skip(){
if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
window.location = document.getElementById("ios").innerText;
} else if (browser.versions.android) {
window.location = document.getElementById("android").innerText;
} else {
document.body.style.display = "block";
}
}
</script>
</head>
<body onload="skip()" style="display: none;">
<h1>Parameter error</h1>
<p style="display: none;" id="ios" th:text="${ios}"></p>
<p style="display: none;" id="android" th:text="${android}"></p>
</body>
</html>
二,生成二维码的地址为:服务器地址+'ios='+'IOS下载地址'+'&android='+'android下载地址'。例如:
http://172.XX.XX.XX:XXXXX/download?ios=https://www.pgyer.com/Aexh&android=https://www.pgyer.com/M5fM