次の方法で共有


方法 : ASP.NET Web ページでブラウザの種類を検出する

更新 : 2007 年 11 月

種類の異なるブラウザ、または同一種類であってもバージョンの異なるブラウザでは、サポートする機能がそれぞれ異なっています。アプリケーションにおいて、ユーザーがページの表示に使用するブラウザの種類を確認することが必要な場合があります。また、場合によっては、ブラウザで特定の機能がサポートされているかどうかも確認する必要があります。

3yekbd5b.alert_note(ja-jp,VS.90).gifメモ :

ASP.NET はブラウザの機能を自動的に判別し、この情報を使用して ASP.NET サーバー コントロールの適切な HTML マークアップをレンダリングします。詳細については、「ASP.NET サーバー コントロールとブラウザの機能」を参照してください。

ASP.NET ページでブラウザの種類を検出するには

  • HttpBrowserCapabilities オブジェクトを含む Browser プロパティを照会します。このオブジェクトは、HTTP リクエスト時にブラウザまたはクライアント デバイスから情報を取得し、これらのブラウザやクライアント デバイスによって提供されるサポートの種類とレベルをアプリケーションに通知します。さらに、厳密に型指定されたプロパティと、汎用名と値のディクショナリを使用して、ブラウザ機能に関する情報を公開します。

    ページ上のテキスト ボックスにブラウザ情報を表示する方法を次のコード例に示します。

    3yekbd5b.alert_note(ja-jp,VS.90).gifメモ :

    HttpBrowserCapabilities オブジェクトによって公開されるプロパティはブラウザ固有の機能を示しますが、必ずしも現在のブラウザ設定を反映していません。たとえば、Cookies プロパティはブラウザが本来 Cookie をサポートしているかどうかを示しますが、要求を行ったブラウザで Cookie が有効になっているかどうかは示しません。詳細については、「ASP.NET の Cookie の概要」を参照してください。

    Private Sub Button1_Click(ByVal sender As System.Object, _
           ByVal e As System.EventArgs) Handles Button1.Click
        Dim s As String = ""
        With Request.Browser
            s &= "Browser Capabilities" & vbCrLf
            s &= "Type = " & .Type & vbCrLf
            s &= "Name = " & .Browser & vbCrLf
            s &= "Version = " & .Version & vbCrLf
            s &= "Major Version = " & .MajorVersion & vbCrLf
            s &= "Minor Version = " & .MinorVersion & vbCrLf
            s &= "Platform = " & .Platform & vbCrLf
            s &= "Is Beta = " & .Beta & vbCrLf
            s &= "Is Crawler = " & .Crawler & vbCrLf
            s &= "Is AOL = " & .AOL & vbCrLf
            s &= "Is Win16 = " & .Win16 & vbCrLf
            s &= "Is Win32 = " & .Win32 & vbCrLf
            s &= "Supports Frames = " & .Frames & vbCrLf
            s &= "Supports Tables = " & .Tables & vbCrLf
            s &= "Supports Cookies = " & .Cookies & vbCrLf
            s &= "Supports VBScript = " & .VBScript & vbCrLf
            s &= "Supports JavaScript = " & _
                .EcmaScriptVersion.ToString() & vbCrLf
            s &= "Supports Java Applets = " & .JavaApplets & vbCrLf
            s &= "Supports ActiveX Controls = " & .ActiveXControls & _
                vbCrLf
        End With
        TextBox1.Text = s
    End Sub
    
    private void Button1_Click(object sender, System.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 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";
        TextBox1.Text = s;
    }
    

参照

概念

ASP.NET Web サーバー コントロールとブラウザの機能