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.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 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 重定向跳转
应用场景:
不同的落地页【广告】在不同设备不同地域不同人群不同时间的差异化展示与投递;做到精准投放与防止链接被风控误报,以致于网站宕机。
标签:
前端
, JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现