1. 程式人生 > 其它 >JavaScript設定不同來路連結跳轉不同的落地頁?裝置檢測

JavaScript設定不同來路連結跳轉不同的落地頁?裝置檢測

需求說明:

有三個不同來路的二級域名,PC端訪問,顯示主域名所展示的落地頁;移動端顯示不同的二級目錄落地頁;如下:

訪問域名a01.domain.com; PC訪問 展示www.domain.com;移動端訪問展示  http://loadpage.com/aa;

訪問域名a02.domain.com; PC訪問 展示www.domain.com;移動端訪問展示  http://loadpage.com/bb;

訪問域名a03.domain.com; PC訪問 展示www.domain.com;移動端訪問展示  http://loadpage.com/cc; 

設定方法:

1.在伺服器上,將a01.domain.com

a02.domain.coma03.domain.com全部繫結到www.domain.com對應的檔案;

2.在訪問域名和www主域名對應的主頁面 head標籤內,新增如下程式碼:

 1         (function go_mobile() {
 2 
 3                 var sUserAgent = navigator.userAgent.toLowerCase();
 4                 var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
 5                 var bIsIphoneOs = sUserAgent.match(/iphone/i) == "iphone";
6 var bIsMidp = sUserAgent.match(/midp/i) == "midp"; 7 var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; 8 var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb"; 9 var bIsAndroid = sUserAgent.match(/android/i) == "android"; 10 var
bIsCE = sUserAgent.match(/windows ce/i) == "windows ce"; 11 var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile"; 12 var bIsWp = sUserAgent.match(/windows phone/i) == "windows phone"; 13 var hostUrl = window.location.href; 14 15 16 if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM || bIsWp) { 17 if (hostUrl.indexOf("a01") != -1) { 18 location.href = 'http://loadpage.com/aa'; //MB 19 } 20 if (hostUrl.indexOf("a02") != -1) { 21 location.href = 'http://loadpage.com/bb'; //MB 22 } 23 24 if (hostUrl.indexOf("a03") != -1) { 25 location.href = 'http://loadpage.com/cc'; //MB 26 } 27 28 } else { 29 location.href = 'http://www.domain.com/'; //2022/3/23 30 } 31 })();

即可實現不同裝置端的跳轉。

技術分析:

主要JavaScript方法:

1.navigator.userAgent    裝置檢測

2.match                          字串匹配檢測

3.indexOf                        字串存在檢測

4.location.href                 重定向跳轉

應用場景:

不同的落地頁【廣告】在不同裝置不同地域不同人群不同時間的差異化展示與投遞;做到精準投放與防止連結被風控誤報,以致於網站宕機。