判断客户端是PC还是移动端的问题?

1.判断用户是PC端访问还是移动端访问,应该放在服务器来做这个事还是前端来做?
补充:(判断是为了调用移动端界面还是PC端界面来进行适配)

阅读 20.4k
6 个回答

前端js判断就行

isPC () { //是否为PC端
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone",
                "SymbianOS", "Windows Phone",
                "iPad", "iPod"];
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    return flag;
}

if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {

    //移动端

}else{

    //PC

}

一般前端js判断就行,navigator.userAgent进行处理

目前通用的做法是通过UA判断,这个在客户端和服务端都可以做。当然不准,UA存在被伪造的可能性,但被伪造的UA只是少数,所以大致的趋势还是准的。

web的话,前端可以通过浏览器获取userAgent,一般的浏览器都是在userAgent区分了PC和移动设备。如果想通过后端得到,没有前端请求提供,是没法知道的吧?

if (/(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent)) { //移动端
     //TODO
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏