JavaScript設定不同來路連結跳轉不同的落地頁?裝置檢測
阿新 • • 發佈:2022-03-29
需求說明:
有三個不同來路的二級域名,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.com;a03.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 varbIsCE = 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 重定向跳轉
應用場景:
不同的落地頁【廣告】在不同裝置不同地域不同人群不同時間的差異化展示與投遞;做到精準投放與防止連結被風控誤報,以致於網站宕機。