我有一个现有的网站,我想创建一个更合适的移动版本。例如,主站点使用下拉菜单,我们都知道这些在移动设备上是相当失败的。
如果我检测到来自移动浏览器的请求,我想重定向到我的移动版本(它将是当前站点的子域)。因此,当他们用 Google 搜索某些内容并访问我的网站时,他们会自动看到移动版本(就像 Wikipedia 一样)。
ASP.NET 是否提供了一种简单的方法来做到这一点?如果没有,我该怎么做?
我有一个现有的网站,我想创建一个更合适的移动版本。例如,主站点使用下拉菜单,我们都知道这些在移动设备上是相当失败的。
如果我检测到来自移动浏览器的请求,我想重定向到我的移动版本(它将是当前站点的子域)。因此,当他们用 Google 搜索某些内容并访问我的网站时,他们会自动看到移动版本(就像 Wikipedia 一样)。
ASP.NET 是否提供了一种简单的方法来做到这一点?如果没有,我该怎么做?
把事情简单化...
继承人的 JS 相同...
希望它可以帮助某人..
var useragent = navigator.userAgent;
var isMobile = !!useragent.match(/iPhone|Android|Blackberry|Sony|Nokia|Motorola|Samsung/i),
isWebBrowser = !!useragent.match(/Mozilla/i);
// Redirect the call accordingly.
if(isWebBrowser && !isMobile)
//call to web portal
alert(" You seem to me... calling from Web Browser")
else if(isMobile)
//call to mobile apps
alert(" Call seems to be from Mobile device...")
else
{
// jus kiddin...
alert(" Unable to detect the device..... Please report to admin...")
}
我认为最好的解决方案是WURFL。它是更新的设备描述存储库,并且是免费的。唯一的不便是 .net api 是 GPL。
您可以在 Request.Browser 的某处使用 IsMobileDevice 属性。不过,您需要一些不错的浏览器定义。我使用这些优秀的浏览器定义集:Ocean's place browser definitions。
它们真的很深入,是我见过的最好的。我认为他目前也在研究 .NET4 的。
您可以使用 codeplex 上的一个项目:Mobile Device Browser File
项目描述
移动浏览器定义文件包含各个移动设备和浏览器的定义。在运行时,ASP.NET 使用请求标头中的信息来确定发出请求的设备/浏览器的类型。
该项目提供了一个数据文件,当与 ASP.NET 一起使用时,它将检测传入的移动设备,并向 Web 开发人员展示一组描述请求设备的 67 个功能或属性。这些功能的范围从屏幕大小到 cookie 支持,并提供您为移动电话和设备自适应呈现内容所需的所有信息。
什么是移动设备浏览器定义文件?
移动设备浏览器定义文件包含单个移动设备和浏览器的功能定义。在运行时,ASP.NET 使用此 .browser 文件以及 HTTP 请求标头中的信息来确定发出请求的设备/浏览器的类型以及该设备的功能。此信息通过 Request.Browser 属性向开发人员公开,并允许他们定制其网页的呈现方式以适应目标设备的功能。
CodeProject上有一篇文章提供了这样的功能。