加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 移动浏览器设备检测在.NET

发布时间:2020-12-16 00:26:26 所属栏目:asp.Net 来源:网络整理
导读:我刚刚开始创建我的第一个手机版的桌面网站,它是用WebForms编写的。 我目前的问题与移动设备/浏览器检测有关。 我想要确定的是a)如果您的设备是移动的b)什么操作系统(Android / IOS / etc),以防我需要根据操作系统处理任何不同的c)什么屏幕大小(加载不同的
我刚刚开始创建我的第一个手机版的桌面网站,它是用WebForms编写的。

我目前的问题与移动设备/浏览器检测有关。

我想要确定的是a)如果您的设备是移动的b)什么操作系统(Android / IOS / etc),以防我需要根据操作系统处理任何不同的c)什么屏幕大小(加载不同的样式表)

解决方法

通过查看用户名字符串来检测浏览器的类型是最简单的。该字符串中的关键词将有助于检测浏览器。 UserAgentString.com维护一个透彻的用户名字符串列表,但您需要查找的主要内容只是几个关键字。

例如,从Blackberry设备浏览时,“黑莓”一词才会出现。与iPad和iPhone类似。 Android设备在用户名字符串中都显示“android”,但是通过在手机中添加关键字“mobile”来区分平板电脑和手机。

以下是我们在移动应用中检测桌面,手机和平板电脑的方法:

public enum DeviceType
    {
        Desktop,Tablet,Phone
    }

    public static DeviceType UserAgentToDeviceType(string userAgent)
    {
        if (userAgent.ToLowerInvariant().Contains("blackberry"))
            return DeviceType.Phone;

        if (userAgent.ToLowerInvariant().Contains("iphone"))
            return DeviceType.Phone;

        if (userAgent.ToLowerInvariant().Contains("ipad"))
            return DeviceType.Tablet;

        if (userAgent.ToLowerInvariant().Contains("android"))
        {
            if (userAgent.ToLowerInvariant().Contains("mobile"))
                return DeviceType.Phone;
            else
                return DeviceType.Tablet;
        }

        return DeviceType.Desktop;
    }

如果您正在使用像jQuery Mobile这样的内容,那么该站点将针对移动外观进行自定义,无论设备类型如何,它将处理不同设备上的JavaScript引擎之间的差异。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读