asp.net 如何判断一个网站访问者是用手机还是PC 在访问?

epui2008 2014-01-09 09:52:03
百度了下,没有好的答案。卧虎藏龙的CSDN 肯定有做过这种项目的大哥,恳请解答一下,或者给指点一二,谢谢!
...全文
3323 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
newhaha 2015-05-11
  • 打赏
  • 举报
回复
System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser; isMobile = ((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).IsMobileDevice ? 1 : 0; 这个很多手机判断都不对,估计这个参数是过时了,
c02645 2014-01-13
  • 打赏
  • 举报
回复
string agent = Request.UserAgent.ToLower(); if (agent.IndexOf("android") > -1 || agent.IndexOf("iphone") > -1 || agent.IndexOf("ipad") > -1 || agent.IndexOf("mobile") > -1 || agent.IndexOf("ucweb") > -1 || agent.IndexOf("ipod") > -1) { }
  • 打赏
  • 举报
回复
厉害...
M依然 2014-01-13
  • 打赏
  • 举报
回复
JavaScript判断什么浏览器(ps:手机终端浏览器也可以判断) <script type="text/javascript"> var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 mobile : !!ua.match(/AppleWebKit.*Mobile/) || !!ua.match(/Windows Phone/) || !!ua.match(/Android/) || !!ua.match(/MQQBrowser/), //是否为移动终端 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器 iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器 iPad: u.indexOf('iPad') > -1, //是否iPad webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部 }; }() } document.writeln(" 是否为移动终端: "+browser.versions.mobile); document.writeln(" ios终端: "+browser.versions.ios); document.writeln(" android终端: "+browser.versions.android); document.writeln(" 是否为iPhone: "+browser.versions.iPhone); document.writeln(" 是否iPad: "+browser.versions.iPad); document.writeln(navigator.userAgent); </script>
myhope88 2014-01-13
  • 打赏
  • 举报
回复
useragent吧
  • 打赏
  • 举报
回复
东线精华游和西线考古探险游,秦中自古帝王都,陕西的黄土埋皇上,在陕西这块土地上,有73位皇帝,72座陵墓埋葬于此,其中有一座中国唯一的两个帝王的合葬墓,就是我们的西线游中所游览的乾陵,埋葬着两个皇帝,唐高宗李治和一代女皇武则天。乾陵的陪葬墓,更是让我们可以更进一步的走进中国的古墓葬,探索考古中国唐朝的墓葬结构形式。西安一日游|www.029wply.cn|电话:029-68950950|兵马俑一日游|华山一日游|自由行|自驾游|旅行社|旅游网|西安旅游|旅游|机票|酒店|西安国际旅行社优质服务!西安一日游|西安旅游网|西安旅游|西安旅行社|http://02968950950.taobao.com|电话:13060396111
yixian2007 2014-01-11
  • 打赏
  • 举报
回复
我用的是JS的。

<script type="text/javascript">
        var browser = {
            versions: function () {
                var u = navigator.userAgent, app = navigator.appVersion;
                return {//移动终端浏览器版本信息
                    trident: u.indexOf('Trident') > -1, //IE内核
                    presto: u.indexOf('Presto') > -1, //opera内核
                    webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                    gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                    mobile: !!u.match(/AppleWebKit.*Mobile.*/) , //是否为移动终端
                    ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                    android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
                    iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
                    iPad: u.indexOf('iPad') > -1, //是否iPad
                    webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
                };
            }(),
            language: (navigator.browserLanguage || navigator.language).toLowerCase()
        }
        if (browser.versions.mobile == true || browser.versions.ios == true || browser.versions.android == true) {
            if (confirm("检测到您是移动终端!是否跳转至手机版?"))
            {
                window.location.href = "http://3geas.huat.edu.cn";
            }
        }
    </script>

wangxuebo 2014-01-11
  • 打赏
  • 举报
回复
学习了!!!
xiao_yt 2014-01-10
  • 打赏
  • 举报
回复
不懂。围观
-布谷鸟- 2014-01-10
  • 打赏
  • 举报
回复

这个嘛,你只有通过屏幕的尺寸去考虑了。
qq2013 2014-01-10
  • 打赏
  • 举报
回复
function browserRedirect() {
            var sUserAgent = navigator.userAgent.toLowerCase();
            var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
            var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
            var bIsMidp = sUserAgent.match(/midp/i) == "midp";
            var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
            var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
            var bIsAndroid = sUserAgent.match(/android/i) == "android";
            var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
            var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";

            if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
                location.href = "Mobile/login.html";
            } else {


            }
        }
这一个是可以的。
qq2013 2014-01-10
  • 打赏
  • 举报
回复
System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser; isMobile = ((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).IsMobileDevice ? 1 : 0; 这个我试了,好像不行呢。
宝_爸 2014-01-10
  • 打赏
  • 举报
回复
用Useragent就可以了,如果有浏览器伪造,也没关系了,就把它当作桌面喽。
zhangfk 2014-01-10
  • 打赏
  • 举报
回复
也希望有精确的答案。
epui2008 2014-01-09
  • 打赏
  • 举报
回复
有一种思路不错,获取屏幕尺寸,根据尺寸大小做跳转,我觉得貌似很实用哈
epui2008 2014-01-09
  • 打赏
  • 举报
回复
引用 10 楼 shengguang1587 的回复:
[quote=引用 8 楼 epui2008 的回复:] [quote=引用 6 楼 shengguang1587 的回复:]

System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;
        isMobile = ((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).IsMobileDevice ? 1 : 0;
大哥,这个我要下午试试[/quote] 我们项目用的是这个~ 各种手机浏览器太杂了 [/quote] 大哥,你用这个实用不,有没有统计数据支持
圣光麦造 2014-01-09
  • 打赏
  • 举报
回复
引用 8 楼 epui2008 的回复:
[quote=引用 6 楼 shengguang1587 的回复:]

System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;
        isMobile = ((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).IsMobileDevice ? 1 : 0;
大哥,这个我要下午试试[/quote] 我们项目用的是这个~ 各种手机浏览器太杂了
种草德鲁伊 2014-01-09
  • 打赏
  • 举报
回复
没办法,客户端的东西都是可以伪造的
epui2008 2014-01-09
  • 打赏
  • 举报
回复
引用 6 楼 shengguang1587 的回复:

System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;
        isMobile = ((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).IsMobileDevice ? 1 : 0;
大哥,这个我要下午试试
md5e 2014-01-09
  • 打赏
  • 举报
回复
3G网段? 难道手机不能用wifi上网?
加载更多回复(10)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧