.net访问网站的是手机还是PC
来源:互联网 发布:php 模板引擎 编辑:程序博客网 时间:2024/05/17 23:18
我主要看了这里http://topic.csdn.net/u/20100907/16/D01D667A-41AA-4A61-B985-8EB612E061AC.html
单位有个需求,要根据访问网站的(手机或电脑)设备的不同,显示不同的网页。
在网上找了一下,我的总结是最好用HTML DOM 的userAgent 属性来判断访问网站的设备是什么。
1.HTML页代码:
<divid="userAgent">
</div>
<scripttype="text/javascript">
document.getElementById("userAgent").innerHTML = navigator.userAgent;
//MessageBox.Show(this.webBrowser1.Document.GetElementById("userAgent").InnerHtml);
</script>
这样,就可以得到userAgent 的返回值了。
2.更好的了解userAgent :
下面是4个程序的例子
(1)检测访问者的浏览器和版本号
<html>
<body>
<script type="text/javascript">
var browser=navigator.appName
var b_version=navigator.appVersion
var version=parseFloat(b_version)
document.write("浏览器名称:"+browser)
document.write("<br />")
document.write("浏览器版本:"+ version)
</script>
</body>
</html>
(2)有关访问者的浏览器的更多信息
<html>
<body>
<script type="text/javascript">
document.write("<p>浏览器:")
document.write(navigator.appName + "</p>")
document.write("<p>浏览器版本:")
document.write(navigator.appVersion + "</p>")
document.write("<p>代码:")
document.write(navigator.appCodeName + "</p>")
document.write("<p>平台:")
document.write(navigator.platform + "</p>")
document.write("<p>Cookies 启用:")
document.write(navigator.cookieEnabled + "</p>")
document.write("<p>浏览器的用户代理报头:")
document.write(navigator.userAgent + "</p>")
</script>
</body>
</html>
(3)有关访问者的浏览器的全部细节
<html>
<body>
<script type="text/javascript">
var x = navigator;
document.write("CodeName=" + x.appCodeName);
document.write("<br />");
document.write("MinorVersion=" + x.appMinorVersion);
document.write("<br />");
document.write("Name=" + x.appName);
document.write("<br />");
document.write("Version=" + x.appVersion);
document.write("<br />");
document.write("CookieEnabled=" + x.cookieEnabled);
document.write("<br />");
document.write("CPUClass=" + x.cpuClass);
document.write("<br />");
document.write("OnLine=" + x.onLine);
document.write("<br />");
document.write("Platform=" + x.platform);
document.write("<br />");
document.write("UA=" + x.userAgent);
document.write("<br />");
document.write("BrowserLanguage=" + x.browserLanguage);
document.write("<br />");
document.write("SystemLanguage=" + x.systemLanguage);
document.write("<br />");
document.write("UserLanguage=" + x.userLanguage);
</script>
</body>
</html>
(4)根据浏览器来提醒用户
<html>
<head>
<script type="text/javascript">
function detectBrowser()
{
var browser=navigator.appName
var b_version=navigator.appVersion
var version=parseFloat(b_version)
if ((browser=="Netscape"||browser=="Microsoft InternetExplorer") && (version>=4))
{alert("您的浏览器已经很棒了!")}
else
{alert("您的浏览器需要升级了!")}
}
</script>
<body onload="detectBrowser()">
</body>
</html>
3.五种未经实际测试的解决方法(仅供参考)
(1)protected void Page_Load(objectsender, EventArgs e)
{
HttpCapabilitiesBase r =(System.Web.Configuration.HttpCapabilitiesBase)Request.Browser;
string agent = (Request.UserAgent + "").ToLower().Trim();
if (r.Browser == "Mozilla")
Response.Write("可以识别:Mozilla");
else
Response.Write("不识别:Mozilla");
if (r.IsMobileDevice || r.Browser == "Unknown" || r.Browser == "Mozilla")
{
Response.Write("手机" + "\r\n" + r.Browser + "\r\n" + r.Type);
}
else
{
Response.Write("电脑" + "\r\n" + r.Browser + "\r\n" + r.Type);
}
}
(2) protected void Page_Load(object sender, EventArgs e)
{
if (HttpContext.Current.Request.Headers["user-agent"] != null && HttpContext.Current.Request.Headers["user-agent"].ToLower().ToString().IndexOf("mozilla") != -1)
{
//PC
}
else
{
//手机
}
}
(3)
{
bool result=false;}
string clientType=string.Concat(HttpContext.Current.Request.UserAgent);
if (clientType.ToLower().Contains("mozilla")|| clientType.ToLower().Contains("opera"))
{
result =true;
}
return result;
(4)
using System.Text.RegularExpressions;//头部引入正则的命名空间
//为了加强准确性,防止支持wap的浏览器如opera,加入操作系统验证。openwave|后为pc操作系统
string osPat = "mozilla|m3gate|winwap|openwave|Windows NT|Windows 3.1|95|Blackcomb|98|ME|X Window|Longhorn|ubuntu|AIX|Linux|AmigaOS|BEOS|HP-UX|OpenBSD|FreeBSD|NetBSD|OS/2|OSF1|SUN";
string uAgent = Request.ServerVariables["HTTP_USER_AGENT"];
Regex reg = new Regex(osPat);
if (reg.IsMatch(uAgent))
{
Response.Write("电脑访问");
}
else
{
Response.Write("手机访问");
}
Response.Write("<br/>" + uAgent);
(5)
HttpCapabilitiesBase r = (System.Web.Configuration.HttpCapabilitiesBase)Request.Browser;
string browser = r.Browser.ToString().Trim().ToLower();
if (browser.Contains("firefox") || browser.Contains("ie"))
{
// Response.Write("电脑" + "——浏览器是——" + browser);--什么都不做,继续进行
}
else
{
// Response.Write("手机" + "——浏览器是——" + browser);
//跳到手机页
Response.Redirect("http://www.jsdeai.com/index.html");
}
- .net访问网站的是手机还是PC
- 判断访问网站的客户端是PC还是手机
- 如何区分是手机访问网站,还是PC访问网站?
- php 识别是pc访问还是手机端访问网站
- php 识别是pc访问还是手机端访问网站
- js判断web网站是手机端访问的还是PC端访问的
- web网站判断是手机访问还是pc电脑访问的检测逻辑
- web网站判断是手机访问还是pc电脑访问的检测逻辑
- 客户端是手机访问还是PC访问
- 判断是手机访问还是PC访问
- 判断访问asp.net网站是andriod端访问,还是ios,还是pc端访问
- JQuery 判断访问的浏览器是pc还是手机
- 判断访问终端是手机还是PC
- 判断是手机还是PC登录网站
- 怎样辨别网站推广优化中,网站的访问来源是通过手机移动端访问过来的还是pc电脑端访问进来的?
- asp.net 或JSP 判断是手机还是电脑访问网站的可靠方法
- 服务器端判断是PC访问还是手机访问
- 网页判断是手机访问还是PC访问
- 飞思卡尔 HCS12(x) memory map解说之2 .
- 超链接下载文件,而不是浏览器打开哦
- 让listbox自动滚动或者说滚到最底
- 用javascript实现的TreeTable, 可以当做树(Tree)用
- 飞思卡尔 HCS12(x) memory map解说之3 .
- .net访问网站的是手机还是PC
- extern及多文件的用法
- Alpha混合物体的深度排序
- ActionSupport 类型转换与输入校验
- the relationship of view, doc and frame
- 如何编写一个好的测试用例
- 待学习ing...
- 安卓2.3.4如何不恢复出厂设置删除gmal账号
- Silverlight中的PagedCollectionView