簡體   English   中英

asp.net:如何檢測 iOS/Android?

[英]asp.net: How to detect iOS/Android?

我最近推出了一個用 C#/.net 4.0 編寫的 web 應用程序,廣泛使用 jQuery 和 jQuery UI 來提供最佳的用戶體驗。

然而,一些用戶在通過 iPhone 或 Android 設備使用該站點時報告了問題。

檢測 iOS 和 Android 的最佳接受方法是什么? 這樣我就可以調整每個瀏覽器的 UI。

一般而言,您應該檢測瀏覽器服務器端,然后將正確的模板/視口呈現給瀏覽器。 檢查發送到服務器的用戶代理字符串,由瀏覽器 - iOS 一般包含 substring,“iPhone”和 Android 使用“Android”后跟版本號(“Android 2.2”)

我認為最好的解決方案是嘗試字符串

Request.ServerVariables["HTTP_USER_AGENT"]

到目前為止,這將為 android 設備返回單詞 android。 Windows 易於檢測。 有人幫我拿其他水果。

http://www.codeproject.com/Articles/34422/Detecting-a-mobile-browser-in-ASP-NET上查看更詳細的解決方案

這是一個 ASP.NET 擴展(顯然,我沒有使用它)為你做所有這些:)

http://51degrees.codeplex.com/

IsMobileDevice 在我的 Android 手機上沒有給出正確的響應。 這是我使用的代碼。

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">



protected void  TextBox1_TextChanged(object sender, EventArgs e)
{

}

protected void  Button1_Click(object sender, EventArgs e)
{
    System.Web.HttpBrowserCapabilities browser = Request.Browser;
    string s = "Browser Capabilities\n"
        + "Type = " + browser.Type + "\n"
        + "Name = " + browser.Browser + "\n"
        + "Version = " + browser.Version + "\n"
        + "Major Version = " + browser.MajorVersion + "\n"
        + "Minor Version = " + browser.MinorVersion + "\n"
        + "Platform = " + browser.Platform + "\n"
        + " Is MobileDevice ? " + browser.IsMobileDevice + "\n"
        + " screen Height " + browser.ScreenCharactersHeight + "\n"
        + " screen width " + browser.ScreenCharactersWidth + "\n"
        + "Is Beta = " + browser.Beta + "\n"
        + "Is Crawler = " + browser.Crawler + "\n"
        + "Is AOL = " + browser.AOL + "\n"
        + "Is Win16 = " + browser.Win16 + "\n"
        + "Is Win32 = " + browser.Win32 + "\n"
        + "Supports Frames = " + browser.Frames + "\n"
        + "Supports Tables = " + browser.Tables + "\n"
        + "Supports Cookies = " + browser.Cookies + "\n"
        + "Supports VBScript = " + browser.VBScript + "\n"
        + "Supports JavaScript = " +
            browser.EcmaScriptVersion.ToString() + "\n"
        + "Supports Java Applets = " + browser.JavaApplets + "\n"
        + "Supports ActiveX Controls = " + browser.ActiveXControls
              + "\n"
        + "Supports JavaScript Version = " +
            browser["JavaScriptVersion"] + "\n";

    TextBox1.Text = s;
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <asp:TextBox ID="TextBox1" runat="server" ontextchanged="TextBox1_TextChanged" 
            Width="955px" Rows="22" TextMode="MultiLine"></asp:TextBox>

        <br />
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
            Text="Find browser" Font-Size="Large" Width="145px" />

    </div>
    </form>
</body>
</html>

您可以使用您的手機或其他設備在www.abcd.com.au/browser.aspx嘗試代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM