思考问题:
通常,我们开发一个APP,有Android版本、IOS版本。
但是只有一个二维码?怎么办呢?
怎么让IOS用户扫描二维码下载IOS版本,Android用户扫描二维码下载到Android版本呢?
实现思路:
- 首先,我们需要新建一个html文件,通过JavaScript来判断用户的手机系统(IOS或Android),判断之后,根据不同的手机系统,跳转到不同的链接去下载。
- 然后,我们使用这个html文件的地址生成一个二维码图片。
- 最后,用户可进行扫一扫二维码图片进行相应的下载。
给出代码:down.html
1 <html> 2 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>二维码下载</title> 6 7 <script type="text/javascript"> 8 /* 9 * 智能机浏览器版本信息: 10 * 11 */ 12 var browser = { 13 versions: function() { 14 var u = navigator.userAgent, 15 app = navigator.appVersion; 16 return { //移动终端浏览器版本信息 17 trident: u.indexOf(‘Trident‘) > -1, //IE内核 18 presto: u.indexOf(‘Presto‘) > -1, //opera内核 19 webKit: u.indexOf(‘AppleWebKit‘) > -1, //苹果、谷歌内核 20 gecko: u.indexOf(‘Gecko‘) > -1 && u.indexOf(‘KHTML‘) == -1, //火狐内核 21 mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端 22 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 23 android: u.indexOf(‘Android‘) > -1 || u.indexOf(‘Linux‘) > -1, //android终端或者uc浏览器 24 iPhone: u.indexOf(‘iPhone‘) > -1 || u.indexOf(‘Mac‘) > -1, //是否为iPhone或者QQHD浏览器 25 iPad: u.indexOf(‘iPad‘) > -1, //是否iPad 26 webApp: u.indexOf(‘Safari‘) == -1 //是否web应该程序,没有头部与底部 27 }; 28 }(), 29 language: (navigator.browserLanguage || navigator.language).toLowerCase() 30 } 31 32 if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) { 33 window.location = "https://itunes.apple.com/cn/app/xxx"; 34 } else if (browser.versions.android) { 35 window.location = "http://zhj8.aliapp.com/xxx.apk"; 36 } 37 38 // document.writeln("语言版本: " + browser.language); 39 // document.writeln(" 是否为移动终端: " + browser.versions.mobile); 40 // document.writeln(" ios终端: " + browser.versions.ios); 41 // document.writeln(" android终端: " + browser.versions.android); 42 // document.writeln(" 是否为iPhone: " + browser.versions.iPhone); 43 // document.writeln(" 是否iPad: " + browser.versions.iPad); 44 // document.writeln(navigator.userAgent); 45 </script> 46 </head> 47 48 <body> 49 50 </body> 51 52 </html>
用这个down.html去生成一个二维码图片,再使用手机扫一扫即可。
希望能够帮助到大家!若有问题,欢迎加群!