zoukankan      html  css  js  c++  java
  • 前端判断用户请求是PC还是移动端


    链接:https://www.zhihu.com/question/20004700/answer/13678113
    • 第一步先在服务器端使用User Agent判断,先匹配出移动设备,这一步可以统计User Agent列表(可通过网站访问日志获取或者使用自己的设备收集),写出匹配设备的正则表达式(比如iPhone/Touch系列的匹配规则是/iPhone OS/i,如果要适配系统版本号,规则会更复杂),根据匹配结果做对应的网站版本输出。
      需要注意的是在智能手机在移动CMWAP接入方式下User-Agent会被网关过滤,所以在第一步服务器端判断UA后可以再在浏览器端对服务器端获取不到UA的访问设备使用Javascript进行二次判断。
    • 有三种方式,根据第一步的匹配结果 :
      a. 跳转到不同的网址,对三个网站进行分别维护 (例子:Facebook,国内各大门户)
      b. 同一个网址,针对不同设备使用不同的页面模板输出页面 (例子:deviantArt、 Tumblr)
      c. 只使用一套前端展示,对各种设备做集中适配(UI布局的自适应、前端技术的综合兼容,例子:)
      前两种方式后端维护成本较高,适合移动端和PC端产品内容形态不同的情况,第三种方式适合各平台内容一致的情况,后端维护成本较小,但是对前端技术和UI布局要求非常高。
    • 参见楼上的解决方案
  • 相关阅读:
    slf4j + log4j 记录日志
    Executors介绍
    Java集合(JDK1.6.0_45)
    Java多线程系列目录(共43篇)
    线程池体系
    FutureTask
    23种设计模式分类
    结构型 之 适配器模式
    信号量Semaphore详解以及应用
    Excel格式转化工具
  • 原文地址:https://www.cnblogs.com/czhyuwj/p/5474916.html
Copyright © 2011-2022 走看看