我正在寻找一个函数,如果用户有移动浏览器,则返回布尔值.
我知道我可以使用navigator.userAgent正则表达式来使用和编写该函数,但是用户代理对于不同的平台来说太多了.我怀疑匹配所有可能的设备会很容易,我认为这个问题已经解决了很多次,所以应该有一些完整的解决方案来完成这样的任务.
我正在看这个网站,但遗憾的是脚本是如此神秘,以至于我不知道如何将它用于我的目的,即创建一个返回true/false的函数.
javascript browser-detection mobile-browser platform-detection
从我收集的信息来看,iPad正在使用iPhone OS,但屏幕分辨率与iPhone和iPod touch不同.许多网站可能不得不改变其用户代理检测以适应iPad.
那么,任何有权访问iPad或iPad SDK的人都能为我们提供用户代理字符串吗?
我正在使用C#asp.net网站.
如何检查用户是使用ipad还是iphone?我该如何查看平台?
例如,如果用户从ipad进入网站,我想显示"Hello ipad user"
iPadOS beta上的Safari用户代理与macOS上的Safari完全相同。还有其他从Mac告诉iPad的方法吗?
iPad running iOS
Mozilla/5.0 (iPad; CPU OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.0 Mobile/14G60 Safari/602.1
iPadOS, developer beta 1
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15
iPadOS, beta 2, simulator
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15
iPadOS, beta 3, (simulator)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15
iPadOS, developer beta 3
Mozilla/5.0 (Macintosh; Intel Mac …Run Code Online (Sandbox Code Playgroud) 我可以在iPhone上检测到iOS 13,但在iPad OS 13中navigator.platform是MacIntel。因此,无法使用以下代码识别iPad,但它在iPhone上可以完美运行。
if (/iP(hone|od|ad)/.test(navigator.platform)) {
var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
var version = [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];
return version;
}
Run Code Online (Sandbox Code Playgroud)
当我们要求使用iPad上的浏览器访问移动网站时,它将navigator.platform返回iPad,并且可以完美运行。
谁能建议使用Javascript 识别在iOS 13及更高版本上运行的iPad的方法?