[关闭]
@chyoo1991 2015-09-07T05:43:33.000000Z 字数 1041 阅读 1293

手搜版本跳转逻辑

1.版本

目前手搜有三种版本:


2.跳转根据


3.匹配规则


提示:ua/ac/qua/x_uc_ua已经转换成小写。


3.1 默认

返回彩板[重构之后默认返回触版]


3.2 返回普板

系统/浏览器 特征
UC浏览器 ua不存在,且acquauc
WML设备 ac中含有wml
塞班系统 ua中含有nokiacnokiaxnokia5symbian
J2me ua中含有j2me
索爱w595c ua中含有sonyericssonw595c
UC灵动 uax_uc_ua中都含u2ua中含u2x_uc_ua中含u3
wurfl ua检测结果preferred_markupwml开头
wurfl ua检测结果preferred_markup不以html_wi_w3html_web开头,且wml_1_2的值为true
未知 ua中含有maui_wapuntrusted

3.3 返回彩板

系统/浏览器 特征
安卓QQ浏览器 android_qqbrowser
UCWeb ua中含有ucweb7(linux; u; 2.2.1; zh-cn; sch-i909; 480*800) ucweb
WinCE ua中含有windows ce
Win Phone ua中含有windows phonewp7
Opera浏览器 ua中含有opera
iOS UCWeb ua中含有iosipadiphone,且含有ucweb
低版本安卓 ua中含有android 1.android 2.0android 2.1android/1.android/2.0android/2.1

3.4 返回触版

由于更改后默认返回触版,因此不再整理这部分逻辑。其逻辑相对复杂。


4.重构设计



  1. 匹配字符串与具体的类[继承OS/Browser/Brand类]对应[可根据新的匹配字符串添加新的对应类]
  2. 具体的类通过列表对应跳转版本[可以随时添加对应关系]
  3. 根据传入的ua/ac/qua/x_uc_ua等字符串直接创建设备[OS/Browser/Brand类的实例根据1中的规则创建]
  4. 根据设备中的OS/Browser/Brand和2中的列表实现具体的跳转逻辑。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注