手机APP开发已经很热门了,下面这段JS主要用于APP下载页面的构建,根据用户不同的设备类型自动选择不同的下载渠道。
JavaScript源码:
- /*
- * 判断手机浏览器内核并跳转不同的下载渠道
- */
- var browser = {
- versions: function () {
- var u = navigator.userAgent, app = navigator.appVersion;
- return {//移动终端浏览器版本信息
- trident: u.indexOf('Trident') > -1, //IE内核
- presto: u.indexOf('Presto') > -1, //opera内核
- webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
- gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
- mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
- 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, //是否iPad
- webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
- };
- }(),
- language: (navigator.browserLanguage || navigator.language).toLowerCase()
- }
- ///获取URL参数
- function getUrlParam(name) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
- var r = window.location.search.substr(1).match(reg); //匹配目标参数
- if (r != null) return unescape(r[2]); return null; //返回参数值
- }
- function isWeiXin() {
- var ua = window.navigator.userAgent.toLowerCase();
- if (ua.match(/MicroMessenger/i) == 'micromessenger') {
- return true;
- } else {
- return false;
- }
- }
- //去下载页
- function gotodown_user() {
- var androidDown = "APK源文件链接";
- var iosDown = "苹果应用商店链接";
- var wxdown="应用宝微链接";
- var downurl=androidDown;
- if (isWeiXin()) {
- var p = document.getElementById("wechat")
- var u = window.navigator.userAgent;
- downurl=wxdown;
- }
- else{
- //如果为安卓手机
- if (browser.versions.mobile && browser.versions.android) {
- downurl=androidDown;
- }
- if (browser.versions.mobile && browser.versions.ios) {
- downurl=iosDown;
- }
- if (browser.versions.mobile && browser.versions.iPhone) {
- downurl=iosDown;
- }
- if (browser.versions.mobile && browser.versions.iPad) {
- downurl=iosDown;
- }
- }
- window.location.href = downurl;
- }
- function gotomobilePage() {
- if (isWeiXin()) {
- window.location.href = "跳转网页";
- }
- if (browser.versions.mobile && browser.versions.android) {
- window.location.href = "跳转网页";
- }
- if (browser.versions.mobile && browser.versions.ios)
- { window.location.href = "跳转网页";
- }
- }
- //去下载页
- function gotodown_driver() {
- var androidDown = "APK源文件链接";
- var iosDown = "苹果应用商店链接";
- var wxdown="应用宝微链接";
- var downurl=androidDown;
- if (isWeiXin()) {
- var u = window.navigator.userAgent;
- downurl=wxdown;
- }
- else{
- //如果为安卓手机
- if (browser.versions.mobile && browser.versions.android) {
- downurl=androidDown;
- }
- if (browser.versions.mobile && browser.versions.ios) {
- downurl=iosDown;
- }
- if (browser.versions.mobile && browser.versions.iPhone) {
- downurl=iosDown;
- }
- if (browser.versions.mobile && browser.versions.iPad) {
- downurl=iosDown;
- }
- }
- window.location.href = downurl;
- }
至于HTML部分就更简单了,大家可以自己去写,波波提供一个简洁版的HTML部分源码。
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>XX客户端下载</title>
- <meta name="viewport" content="width=device-width, initial-scale=1" />
- <link type="text/css" rel="stylesheet" href="css/style.css" />
- <script src="js/mobile.js"></script>
- </head>
- <body onload="gotodown_user()">
- <div id="wechat">
- <div class="download">
- <div class="logo">
- <img src="images/logo.png">
- </div>
- <a class="button" onclick="gotodown_user()">
- <strong>立即下载</strong>
- <span>Android(安卓版)</span>
- </a>
- <a class="button" href="苹果商店链接";>
- <strong>立即下载</strong>
- <span>IOS(苹果版)</span>
- </a>
- <div class="tel">
- 免费咨询电话<br>XXXX-XXXXXXXXX
- </div>
- </div>
- </div>
- </body>
- </html>
上述分享主要在于JS部分对应的三个下载渠道,在微信中不用跳转外部即可实现安卓和IOS版本下载,如果是浏览器的话,安卓版自动下载,IOS版自动跳转到苹果应用商店。