iOS 上的浏览器检测
Browser Detection on iOS
我目前正在努力解决移动苹果设备上的浏览器检测问题。我在同一台设备上测试了 safari、chrome 和 firefox,结果让我很难检测到确切的浏览器。看看:
Safari
Mozilla/5.0(iPhone;CPUiPhoneOS12_2喜欢MacOS X) Apple WebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari 604/1
os=mac;浏览器=野生动物园;设备=iphone; os_version=未知; browser_version=12.1
Chrome(桌面视图)
Mozilla/5.0 (Macintosh; 英特尔 Mac OS X 10_13_5) 苹果 WebKit/605 .1.15(KHTML,如 Gecko)Version/11.1.1 Safari/605.1.15
os=mac;浏览器=野生动物园;设备=未知; os_version="mac-os-x-13"; browser_version=11.1.1
Chrome(移动端查看)
Mozilla/5.0(iPhone;CPUiPhoneOS12_2喜欢MacOS X) Apple WebKit/605.1.15 (KHTML, like Gecko) CriOs/77.0.3865.103 Mobile/15E148 Safari 605/1
os=mac;浏览器=chrome;设备=iphone; os_version=未知; browser_version=77.0.3865.103
Firefox(桌面视图)
Mozilla/5.0 (Macintosh; 英特尔 Mac OS X 10_11_1) 苹果 WebKit/605 .1.15(KHTML,如 Gecko)Version/12.0 Safari/605.1.15
os=mac;浏览器=野生动物园;设备=未知; os_version="mac-os-x-13"; browser_version=12.0
Firefox(手机版)
Mozilla/5.0(iPhone;CPUiPhoneOS12_2喜欢MacOS X) Apple WebKit/605.1.15 (KHTML, like Gecko) FxiOS/19.1b16203 Mobile/15E148 Safari/605.1.15
os=mac;浏览器=野生动物园;设备=iphone; os_version=未知; browser_version=0
第一行是用户代理字符串,其他细节来自我正在使用的库。如您所见,很难从这些详细信息中检测到正确的设备。因此,我只想在移动 iOS 设备上允许使用 safari,但是 most 其他版本也将自己伪装成 safari。
是否有浏览器检测的最佳实践?请帮忙。
我刚决定使用这个正则表达式:
https://coderwall.com/p/ktrbhq/detect-mobile-safari
总之,我不喜欢这个解决方案。非常感谢更好的方法。
我目前正在努力解决移动苹果设备上的浏览器检测问题。我在同一台设备上测试了 safari、chrome 和 firefox,结果让我很难检测到确切的浏览器。看看:
Safari
Mozilla/5.0(iPhone;CPUiPhoneOS12_2喜欢MacOS X) Apple WebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari 604/1
os=mac;浏览器=野生动物园;设备=iphone; os_version=未知; browser_version=12.1
Chrome(桌面视图)
Mozilla/5.0 (Macintosh; 英特尔 Mac OS X 10_13_5) 苹果 WebKit/605 .1.15(KHTML,如 Gecko)Version/11.1.1 Safari/605.1.15
os=mac;浏览器=野生动物园;设备=未知; os_version="mac-os-x-13"; browser_version=11.1.1
Chrome(移动端查看)
Mozilla/5.0(iPhone;CPUiPhoneOS12_2喜欢MacOS X) Apple WebKit/605.1.15 (KHTML, like Gecko) CriOs/77.0.3865.103 Mobile/15E148 Safari 605/1
os=mac;浏览器=chrome;设备=iphone; os_version=未知; browser_version=77.0.3865.103
Firefox(桌面视图)
Mozilla/5.0 (Macintosh; 英特尔 Mac OS X 10_11_1) 苹果 WebKit/605 .1.15(KHTML,如 Gecko)Version/12.0 Safari/605.1.15
os=mac;浏览器=野生动物园;设备=未知; os_version="mac-os-x-13"; browser_version=12.0
Firefox(手机版)
Mozilla/5.0(iPhone;CPUiPhoneOS12_2喜欢MacOS X) Apple WebKit/605.1.15 (KHTML, like Gecko) FxiOS/19.1b16203 Mobile/15E148 Safari/605.1.15
os=mac;浏览器=野生动物园;设备=iphone; os_version=未知; browser_version=0
第一行是用户代理字符串,其他细节来自我正在使用的库。如您所见,很难从这些详细信息中检测到正确的设备。因此,我只想在移动 iOS 设备上允许使用 safari,但是 most 其他版本也将自己伪装成 safari。
是否有浏览器检测的最佳实践?请帮忙。
我刚决定使用这个正则表达式: https://coderwall.com/p/ktrbhq/detect-mobile-safari
总之,我不喜欢这个解决方案。非常感谢更好的方法。