问题描述
mvc4如何判断是PC访问还是手机访问
解决方案
解决方案二:
System.Web.HttpBrowserCapabilitiesmyBrowserCaps=Request.Browser;varisMobile=((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).IsMobileDevice?1:0;
解决方案三:
还是自己判断UserAgent。通常都需要自己判断“苹果的哪款系统?Android的哪一个版本?WinPhone?平板还是手机?”等等,而不是简单地判断是pc还是手机。另外,手机浏览器也不一定给你返回准确的信息。实际上现在都是倾向于做一个网页,而不是把pc跟手机分开。因为屏幕分辨率至少有10几种以上,你怎么可能随便假设一个“手机尺寸”呢?
解决方案四:
总之,要想靠谱地设计一个系统,不要陷入这个概念里。应该想想这种“判断”是不是有些落后了。
解决方案五:
Request.Browser.IsMobileDevice
多简单。居然没人回答
解决方案六:
functionbrowserRedirect(){varsUserAgent=navigator.userAgent.toLowerCase();varbIsIpad=sUserAgent.match(/ipad/i)=="ipad";varbIsIphoneOs=sUserAgent.match(/iphoneos/i)=="iphoneos";varbIsMidp=sUserAgent.match(/midp/i)=="midp";varbIsUc7=sUserAgent.match(/rv:1.2.3.4/i)=="rv:1.2.3.4";varbIsUc=sUserAgent.match(/ucweb/i)=="ucweb";varbIsAndroid=sUserAgent.match(/android/i)=="android";varbIsCE=sUserAgent.match(/windowsce/i)=="windowsce";varbIsWM=sUserAgent.match(/windowsmobile/i)=="windowsmobile";if(bIsIpad||bIsIphoneOs||bIsMidp||bIsUc7||bIsUc||bIsAndroid||bIsCE||bIsWM){location.href="Mobile/login.html";}else{}}从别处抄的~感觉还是自己定义比较稳定~
解决方案七:
引用4楼feng005211的回复:
Request.Browser.IsMobileDevice多简单。居然没人回答
你测试一下就知道了。你这是抄来的10年前的针对那时候的环境的一个东西。
解决方案八:
还是做响应式页面好.因为即使是同一类型设备,屏幕差别也很大
解决方案九:
引用6楼sp1234的回复:
Quote: 引用4楼feng005211的回复:
Request.Browser.IsMobileDevice多简单。居然没人回答
你测试一下就知道了。你这是抄来的10年前的针对那时候的环境的一个东西。
SP大神好!这个方法我确实在MVC4ORMVC5中去用,比如news、product,都会用Request.Browser.IsMobileDevice这个方法去判断选择PCView或MobileView,因为调用的数据都一样,只是页面展示不同。所以在MVC中,这个方法是肯定可以使用的,再一个,这个方法其实就是取的useragent