如果是网络应用程序,您如何判断访问者是否正在通过手机查看?
是否有可能找出像黑莓与iphone一样的品牌/型号?
答案 0 :(得分:4)
您可以查看他们的User-Agent字符串。
答案 1 :(得分:4)
Scott Hanselman did a podcast关于Microsoft made available on Codeplex的模块设备数据库。它是一个.browser文件,放在ASP.NET(版本2.0+)网站中,然后帮助框架更紧密地定义Request.Browser
属性。您应该能够从那里获得所需的大量信息。
但是,该项目不再受支持,当您处理用户代理检测时,拥有最新资源非常重要。您应该使用类似的项目,例如51degrees.mobi或WURFL。
即使没有,至少你可以检查Request.Browser.IsMobileDevice
。
答案 2 :(得分:1)
您可以检查User-Agent字符串。在JavaScript中,这非常简单,它只是导航器对象的一个属性。
var useragent = navigator.userAgent;
您可以使用类似
的内容检查设备中的iPhone或Blackberryvar isIphone = !!agent.match(/iPhone/i),
isBlackberry = !!agent.match(/blackberry/i);
如果isIphone是真的你是从Iphone访问该网站,如果isBlackBerry你是从黑莓访问该网站。
您可以使用“UserAgent Switcher”插件进行firefox测试。
答案 3 :(得分:1)
在httpRequest.Browser.IsMobileDevice
Session_Start
void Session_Start(object sender, EventArgs e)
{
// Redirect mobile users to the mobile home page
HttpRequest httpRequest = HttpContext.Current.Request;
if (httpRequest.Browser.IsMobileDevice)
{
string path = httpRequest.Url.PathAndQuery;
bool isOnMobilePage = path.StartsWith("/Mobile/",
StringComparison.OrdinalIgnoreCase);
if (!isOnMobilePage)
{
string redirectTo = "~/Mobile/";
HttpContext.Current.Response.Redirect(redirectTo);
}
}
}
答案 4 :(得分:0)
答案 5 :(得分:0)
以下是类似问题的一些信息:
Auto detect mobile browser (via user-agent?)
它涉及读取用户代理标头。其他问题的答案包括脚本链接。
这是另一个有用的讨论:
Standard way to detect mobile browsers in a web application based on the http request
答案 6 :(得分:0)
如上所述 - 用户代理
但是,你真的想问“它是手机吗?”或者你真的是指其他什么?
这些天线条变得模糊。我花了99美元从eBay购买了一个带有7英寸屏幕的漂亮小安卓平板电脑。这是一部手机吗?是一款带6英寸屏幕的迷你上网本吗?是一个像Kidnle一样的设备吗?
我只是想知道为什么你想知道它是否是一部手机......屏幕尺寸?处理能力?别的什么?
你可能确实意味着移动'电话但是,如果没有,请改写,我们可以进一步帮助。
答案 7 :(得分:0)
请检查一下。为我工作得很好!