相关疑难解决方法(0)

通过javascript检测ipad/iphone webview

如果网站在ipad safari中运行或在应用程序WebView中运行,是否有办法通过javascript进行区分?

javascript webview ipad ios

87
推荐指数
6
解决办法
8万
查看次数

Asp.Net 5 MVC 6检测移动浏览器

如何在Asp.Net 5 MVC 6中检测用户是否在移动设备上?

在以前的版本中 Asp MVC可以这样做:

Request.Browser.IsMobileDevice
Run Code Online (Sandbox Code Playgroud)

问题是名称空间System.Web不被使用Asp.Net 5.

Request控制器操作中的变量现在是类型Microsoft.AspNet.Http.HttpRequest,旧版本是类型System.Web.HttpRequestBase.

Microsoft.AspNet.Http.HttpRequest不包含该Browser属性.我试着浏览其他属性,但没有找到任何东西.

编辑:根据要求,一些资源证明Asp.Net 5不再使用System.Web.来自Asp.Net文档

ASP.NET 5不再基于System.Web.dll,而是基于一组精心设计且考虑周全的NuGet包,允许您优化您的应用程序以满足您的需求.

c# asp.net-core-mvc asp.net-core

42
推荐指数
1
解决办法
2万
查看次数

在未显示正确的用户代理的情况下,如何在iOS 13的Safari中检测设备名称?

在实现Apple iOS 13之后,我意识到iPad iOS 13的Safari中的window.navigator.userAgent与MacOS相同。像这样:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15

如您所见,这是iPad的错误用户代理,甚至无法检测当前设备是否为iDevice。


经过初步研究,我找到了解决方法:

转到设置-> Safari->请求桌面网站->所有网站。您会注意到默认情况下启用了 “所有网站” 。如果禁用它并获取window.navigator.userAgent,则现在将显示正确的用户代理。

但我不能要求每个用户对每个设备进行此设置更改。因此,我试图找到另一种方法,最后编写了以下代码,检查它是否是Safari,macOS和触摸屏,然后该设备应该是苹果移动设备,但是我想知道是否有更好的建议/方法在Safari iOS 13中检测到正确的设备名称?

detectOs = function(){
   //returns OS name, like "mac"
};

//is Safari on an apple touch-screen device
isSafariInIdevice = function(){
   if (/Safari[\/\s](\d+\.\d+)/.test(windows.navigator.userAgent)) {
      return 'ontouchstart' in window && detectOs() === "mac";      
   }
   return false;
};
Run Code Online (Sandbox Code Playgroud)

javascript safari user-agent ios ios13

30
推荐指数
1
解决办法
5607
查看次数