移动站点检测

时间:2013-04-15 10:52:31

标签: c# php javascript asp.net mobile

下一步是做最好的方式:

我有常规网站,请说:www.regular.com(示例) 和移动网站:mobile.regular.com

如果有人通过手机(iphone,android等等)进入常规网站,则进入页面会给出2个选项:

1)进入常规网站

2)进入移动网站

到目前为止我接下来做了:

<a href="http://mobile.regular.com">To Mobile site</a>

<a id="fullsite" href="http://regular.com">To regular site</a>

    <script type="text/javascript">
    document.getElementById('fullsite').addEventListener('click',gotoFullSite,true);

    function gotoFullSite(e) {
    e.preventDefault();
    setCookie("viewFullSite", true, 1);
    location.href = this.getAttribute('http://regular.com');
    }
    </script>

我需要在常规网站上放置什么,以便自动识别用户是否来自手机?如果有人想要显示常规网站,即使是通过移动设备,也可以这样做?

如果重要的话:

移动网站位于Wordpress中

常规站点位于ASP.NET c#

5 个答案:

答案 0 :(得分:1)

在Javascript中:

if(navigator.userAgent.match(/Android|webOS|iPhone|iPod|BlackBerry|iPad/i)){
alert("I am mobile browser");
}else {
alert("I am desktop browser");
}

在C#中:

if (Request.Headers["User-Agent"] != null && (Request.Browser["IsMobileDevice"] ==  "true" || Request.Browser["BlackBerry"] == "true"||request.UserAgent.ToLower().Contains("iphone"))
{
Response.Redirect("http://Yourwebsite.com");
}

答案 1 :(得分:0)

在Php中,他们的库可用于检测设备/通道。例如,Mobile Detect就是一个这样的库文件。试试吧。

答案 2 :(得分:0)

使用IsMobileDevice标志。

尝试:

Request.Browser.IsMobileDevice

重定向:

Response.Status="302 Moved Temporarily"
Response.AddHeader "Location","http://m.yoursite.com"

希望它有所帮助。

答案 3 :(得分:0)

您应该使用WURFL在服务器端执行此操作。它有可用于本机.NET集成的版本,您可以在链接上看到。

所有其他方法(更多)不可靠和/或不标准化,例如IsMobileDevice标志(也是笔记本电脑是否是移动设备?并且带有触摸屏?混合笔记本电脑/平板电脑?)

答案 4 :(得分:0)

function IsMobile() {
var navi = navigator.userAgent.toLowerCase();
if( navi.match(/android/i)
   || navi.match(/webos/i)
   || navi.match(/iphone/i)
   || navi.match(/ipad/i)
   || navi.match(/ipod/i)
   || navi.match(/blackberry/i)
   || navi.match(/windows phone/i)
 )
 {
    window.location.href = "http://mobile.regular.com";
 }    
}

$(document).ready(function(){
  IsMobile();
  //do code for regular site
});