我正在寻找一个函数,如果用户有移动浏览器,则返回布尔值.
我知道我可以使用navigator.userAgent正则表达式来使用和编写该函数,但是用户代理对于不同的平台来说太多了.我怀疑匹配所有可能的设备会很容易,我认为这个问题已经解决了很多次,所以应该有一些完整的解决方案来完成这样的任务.
我正在看这个网站,但遗憾的是脚本是如此神秘,以至于我不知道如何将它用于我的目的,即创建一个返回true/false的函数.
javascript browser-detection mobile-browser platform-detection
MSDN让检测移动浏览器变得非常容易:
if (Request.Browser["IsMobileDevice"] == "true" )
{
Response.Redirect("MobileDefault.aspx");
}
Run Code Online (Sandbox Code Playgroud)
实际上,看起来你也可以只检查Request.Browser.IsMobileDevice.但这实际上是如何运作的呢?我甚至没有.browser文件......幕后发生了什么?ASP.NET 2.0是否有一些内置的默认值?
我能够使用Request.Browser.IsMobileDevice检测在iOS 11.4上运行的 iPadAir2 设备,它给我 UserAgent 信息说它是 iPad:

当我对在iOS 13.0.1上运行的 iPadAir2 做同样的事情时,它不再给我 iPad 关键字:

我如何检测它的 ipad 并运行 safari 浏览器?
我需要它来检测 Razor .chtml 页面中的 iPad,以便我可以为我的网站显示不同的菜单。
我从这里找到了这个解决方案如何在 iOS 13 上的 Safari 中检测设备名称,而它没有显示正确的用户代理?
让 isIOS = /iPad|iPhone|iPod/.test(navigator.platform) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)
如何在 razor 中使用此变量来更改网站菜单?