扫码关注官方订阅号
百度和淘宝是怎样判断 页面是电脑端还是手机端打开的,并且跳转到m.baidu.com和m.taobao.com??
人生最曼妙的风景,竟是内心的淡定与从容!
function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; var bIsMidp = sUserAgent.match(/midp/i) == "midp"; var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb"; var bIsAndroid = sUserAgent.match(/android/i) == "android"; var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce"; var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile"; if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) { window.location.href="http://m.baidu.com"; } else { window.location.href="http://www.baidu.com"; } } browserRedirect();
在http请求头里面是由userAgent的。
这个是PC端
这个是用IOS模拟请求,根据你得UA判断是移动端就302跳转。
1.js获取用户使用的浏览器2.服务端拿到UA(User Agent)来判断
方法还是很多的。
前端发出的请求的http头信息包含ua,refer等诸多参数,后端判定后返回相应的页面或者redirect。
当然,肯定也会有一定的antispam策略。
通过js可以判断当前窗口的分辨率,进而区分是PC端还是移动端
反向代理,例如nginx上直接判断
用户访问的http请求里面会携带访问类型,如果是pc好像是会有windows啥的,手机端会带有手机端的标识的,你可以在服务器上抓包,然后手机和电脑分别访问了看看(可以再试试在wifi情况下,还有手机热点共享情况的数据抓包)
webkit技术内幕这本书里有
window.Navigator.userAgent
根据http请求来判断的啊
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
在http请求头里面是由userAgent的。
这个是PC端

这个是用IOS模拟请求,根据你得UA判断是移动端就302跳转。
1.js获取用户使用的浏览器
2.服务端拿到UA(User Agent)来判断
方法还是很多的。
前端发出的请求的http头信息包含ua,refer等诸多参数,后端判定后返回相应的页面或者redirect。
当然,肯定也会有一定的antispam策略。
通过js可以判断当前窗口的分辨率,进而区分是PC端还是移动端
反向代理,例如nginx上直接判断
用户访问的http请求里面会携带访问类型,如果是pc好像是会有windows啥的,手机端会带有手机端的标识的,你可以在服务器上抓包,然后手机和电脑分别访问了看看(可以再试试在wifi情况下,还有手机热点共享情况的数据抓包)
webkit技术内幕这本书里有
根据http请求来判断的啊