【发布时间】:2019-10-14 07:03:13
【问题描述】:
我目前在移动苹果设备上的浏览器检测方面遇到了困难。我在同一台设备上测试了 safari、chrome 和 firefox,结果让我很难检测到确切的浏览器。看看:
Safari
Mozilla/5.0(iPhone;CPU iPhone OS 12_2,如 Mac OS X)Apple WebKit/605.1.15(KHTML,如 Gecko)版本/12.1 Mobile/15E148 Safari 604/1
操作系统=mac;浏览器=野生动物园;设备=iphone; os_version=未知; browser_version=12.1
Chrome(桌面视图)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) Apple WebKit/605.1.15 (KHTML, like Gecko) 版本/11.1.1 Safari/605.1.15
操作系统=mac;浏览器=野生动物园;设备=未知; os_version="mac-os-x-13"; browser_version=11.1.1
Chrome(移动端视图)
Mozilla/5.0(iPhone;CPU iPhone OS 12_2,如 Mac OS X)Apple WebKit/605.1.15(KHTML,如 Gecko)CriOs/77.0.3865.103 Mobile/15E148 Safari 605/1
操作系统=mac;浏览器=铬;设备=iphone; os_version=未知; browser_version=77.0.3865.103
Firefox(桌面视图)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) Apple WebKit/605.1.15 (KHTML, like Gecko) 版本/12.0 Safari/605.1.15
操作系统=mac;浏览器=野生动物园;设备=未知; os_version="mac-os-x-13"; browser_version=12.0
Firefox(移动端视图)
Mozilla/5.0(iPhone;CPU iPhone OS 12_2,如 Mac OS X)Apple WebKit/605.1.15(KHTML,如 Gecko)FxiOS/19.1b16203 Mobile/15E148 Safari/605.1.15
操作系统=mac;浏览器=野生动物园;设备=iphone; os_version=未知; browser_version=0
第一行是用户代理字符串,其他细节来自我正在使用的库。如您所见,很难从这些细节中检测到正确的设备。因此,我只想在移动 iOS 设备上允许 safari,但大多数其他版本也将自己伪装成 safari。
是否有浏览器检测的最佳实践?请帮忙。
【问题讨论】:
标签: angular typescript browser safari user-agent