- 现在的ipad和mac设备获取的ua信息几乎是一样的。所以目前普遍的ua匹配方式去判断移动设备or电脑会发现ipad不被视为移动设备,UA里不带iPad字样而是mac。
- 现在的iPad和MacBook屏幕尺寸是越来越接近(特别是iPad Pro和MacBook),无法从JS里获取屏幕比例去区分iPad。
解决方法: iPad的屏幕高始终>屏幕宽(不管你将屏幕竖着还是横着),而Mac的宽>高。
const isIpad =\
(/macintosh|mac os x/i.test(userAgent) &&\
window.screen.height > window.screen.width &&\
!userAgent.match(/(iPhone\sOS)\s([\d_]+)/)) ||\
userAgent.match(/(iPad).*OS\s([\d_]+)/);
99%的ipad都能区分出来,但是不排除有人用的竖屏显示器。