检测页面是否来自移动设备?

时间:2010-09-10 09:04:21

标签: web-applications mobile

我如何知道我的网页(asp.net)是否是从移动设备加载的?我想应用mobile.css而不是normal.css。我认为移动设备所有的手机,psp / ds / wii,itouch和ipad可以采用任何一种方式。

我不知道我是否通过标题服务器端更改css文件或者我应该使用JS或其他东西来选择css。我该怎么做?

5 个答案:

答案 0 :(得分:2)

我认为.net api,51degrees对WURFL来说是最好的。

答案 1 :(得分:1)

检查UserAgent以查看请求您的页面的设备,例如:

http://www.codeproject.com/KB/aspnet/conquering_browsers.aspx

Google了解更多。

答案 2 :(得分:1)

您可能用于检测移动设备是否正在访问该网站的任何库最终都会获取用户代理字符串,然后将其与设备数据存储(如WURFL或.Mobi)进行比较。

有几个像Tera_WURFL这样的开源库,但我不确定.Net应用程序可用的是什么。

我们在其中一个项目中做过的一件事是,如果没有找到,则不是检查所有移动用户代理并默认为桌面,我们反过来做了。我们检查所有桌面用户代理,如果找不到则默认为移动设备。我觉得这可以提高性能,因为比较次数减少了。

答案 3 :(得分:0)

您可以通过查看UserAgent对象的Request属性在服务器端检测到它。这应该适用于大多数移动浏览器,但需要编写一些“或”语句。

例如,要检测iPhone,您可以使用类似这样的内容

if (Request.UserAgent.Contains("iPhone")) {
     // load iphone specific JS/CSS here
}

答案 4 :(得分:0)

我认为这是放置“检查移动”代码段的最佳方式。 通过此网站,您可以以您选择的首选语言下载代码段

它几乎拥有所有移动用户代理。

http://detectmobilebrowsers.com/