C# 如何确定设备是否为桌面浏览器?

C# 如何确定设备是否为桌面浏览器?,c#,javascript,css,responsive-design,C#,Javascript,Css,Responsive Design,我正在为一个网站创建一个响应性设计。我们为非触摸桌面浏览器提供滚动导航菜单,为触摸手机和触摸平板电脑提供非画布菜单设计。这是一个ASP.NET MVC4项目。如何在C、Javascript或CSS3中确定用户是否使用桌面浏览器浏览站点?如果可能的话,我更愿意使用某种CSS3媒体查询。来自美丽的网站: 或者使用像device.js这样的库,这真的很酷。看到上面的代码后,我的问题是,Nook、Kindle Fire和Microsoft Surface平板电脑会返回什么?这就是我建议使用device.

我正在为一个网站创建一个响应性设计。我们为非触摸桌面浏览器提供滚动导航菜单,为触摸手机和触摸平板电脑提供非画布菜单设计。这是一个ASP.NET MVC4项目。如何在C、Javascript或CSS3中确定用户是否使用桌面浏览器浏览站点?如果可能的话,我更愿意使用某种CSS3媒体查询。

来自美丽的网站:


或者使用像device.js这样的库,这真的很酷。看到上面的代码后,我的问题是,Nook、Kindle Fire和Microsoft Surface平板电脑会返回什么?这就是我建议使用device.js或任何其他标准库的原因。即使他们不能在suntizen、nook、kindle等环境下测试所有东西,但这是迄今为止我知道的唯一检测桌面的方法。
 var isMobile = {
        Android: function() {
            return navigator.userAgent.match(/Android/i);
        },
        BlackBerry: function() {
            return navigator.userAgent.match(/BlackBerry/i);
        },
        iOS: function() {
            return navigator.userAgent.match(/iPhone|iPad|iPod/i);
        },
        Opera: function() {
            return navigator.userAgent.match(/Opera Mini/i);
        },
        Windows: function() {
            return navigator.userAgent.match(/IEMobile/i);
        },
        any: function() {
            return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
        }
    };

    if(isMobile.any()){
        // Mobile!
    } else {
        // It is desktop
    }