0

我试图将移动设备重定向到移动版本,但让 Ipads 正常查看它。所有手机都可以重定向到移动站点,但 ipad 也可以,我不知道为什么?...这是我正在使用的脚本。

<scr!pt runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        string[] mobiles = new string[] {"midp", "j2me", "avant", "docomo","novarra", 
            "palmos", "palmsource","240x320", "opwv", "chtml","pda", "windows ce", 
            "mmp/","blackberry", "mib/", "symbian","wireless", "nokia", "hand", 
            "mobi","phone", "cdm", "up.b", "audio", "SIE-", "SEC-", "samsung", 
            "HTC","mot-", "mitsu", "sagem", "sony","alcatel", "lg", "eric", "vx","NEC", 
            "philips", "mmm", "xx","panasonic", "sharp", "wap", "sch","rover", "pocket", 
            "benq", "java","pt", "pg", "vox", "amoi","bird", "compal", "kg", "voda","sany", 
            "kdd", "dbt", "sendo", "sgh", "gradi", "jb", "dddi","moto", "iphone" };
    bool isMobile = false;

    if (Request.Headers["User-Agent"] != null && Request.Browser["IsMobileDevice"] == "true")
    {
        isMobile = true;
    }
    else
    {
        foreach (string device in mobiles)
        {
            if (Request.UserAgent.ToLower().Contains(device))
            {
                isMobile = true;
            }
        }
    }

    if (isMobile == true)
    {
        Response.Redirect("///SITE//");
    }
    else
    {
        Response.Redirect("//SITE//");
    }
}

4

1 回答 1

0

这个问题iPad 用户代理是什么?显示 ipad 在其 User-Agent 字符串中发送字符串 iphone。所以你数组中的最后一个字符串会绊倒它。

也许你可以做反向,即如果 USer-Agent 包含 ipad 重定向到正常站点?

希望有更多ipad经验的人能够提供更多见解。

于 2012-06-28T11:03:50.020 回答