Imports SystemPublic Class ClientPeek
  Inherits System.Web.UI.Page
  Protected WithEvents Label1 As System.Web.UI.WebControls.Label
  Protected WithEvents MyBody As System.Web.UI.HtmlControls.HtmlGenericControl
#Region " Web 窗体设计器生成的代码 "  '该调用是 Web 窗体设计器所必需的。
  <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()  End Sub  '注意: 以下占位符声明是 Web 窗体设计器所必需的。
  '不要删除或移动它。
  Private designerPlaceholderDeclaration As System.Object  Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles MyBase.Init
    'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
    '不要使用代码编辑器修改它。
    InitializeComponent()
  End Sub#End Region  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles MyBase.Load
    Dim Button1 As New System.Web.UI.WebControls.Button
    If Not Me.IsPostBack Then
      Dim btnW As New System.Web.UI.HtmlControls.HtmlInputHidden
      Dim btnH As New System.Web.UI.HtmlControls.HtmlInputHidden
      Button1.ID = "Button1"
      btnW.Name = "WidthPixel"
      btnW.ID = "WidthPixel"
      btnH.Name = "HeightPixel"
      btnH.ID = "HeightPixel"
      Me.FindControl("browserpeek").Controls.Add(btnW)
      Me.FindControl("browserpeek").Controls.Add(btnH)
      Me.FindControl("browserpeek").Controls.Add(Button1)
      Dim scriptString As String = ""
      scriptString += "document.browserpeek.WidthPixel.value=window.screen.width;"
      scriptString += "document.browserpeek.HeightPixel.value=window.screen.height;"
      Me.RegisterOnSubmitStatement("Meng", scriptString)
      Me.MyBody.Attributes.Add("onload", "document.browserpeek.Button1.click();")
    Else
      Me.MyBody.Attributes.Remove("onload")
      If Me.FindControl("browserpeek").Controls.Contains(Button1) Then
        Me.FindControl("browserpeek").Controls.Remove(Button1)
        Button1.Dispose()
      End If
      Dim strLabel As New System.Text.StringBuilder
      Dim bc As HttpBrowserCapabilities = Request.Browser
      strLabel.Append("您的浏览器的分辨率为:")
      strLabel.Append(Request.Form("WidthPixel"))
      strLabel.Append("×")
      strLabel.Append(Request.Form("HeightPixel"))
      strLabel.Append("<hr color='#000099'>")
      strLabel.Append("浏览器基本信息:<br>")
      strLabel.Append("Type = " & bc.Type & "<br>")
      strLabel.Append("Name = " & bc.Browser & "<br>")
      strLabel.Append("Version = " & bc.Version & "<br>")
      strLabel.Append("Major Version = " & bc.MajorVersion & "<br>")
      strLabel.Append("Minor Version = " & bc.MinorVersion & "<br>")
      strLabel.Append("Platform = " & bc.Platform & "<br>")
      strLabel.Append("Is Beta = " & bc.Beta & "<br>")
      strLabel.Append("Is Crawler = " & bc.Crawler & "<br>")
      strLabel.Append("Is AOL = " & bc.AOL & "<br>")
      strLabel.Append("Is Win16 = " & bc.Win16 & "<br>")
      strLabel.Append("Is Win32 = " & bc.Win32 & "<br>")
      strLabel.Append("支持 Frames = " & bc.Frames & "<br>")
      strLabel.Append("支持 Tables = " & bc.Tables & "<br>")
      strLabel.Append("支持 Cookies = " & bc.Cookies & "<br>")
      strLabel.Append("支持 VB Script = " & bc.VBScript & "<br>")
      strLabel.Append("支持 JavaScript = " & bc.JavaScript & "<br>")
      strLabel.Append("支持 Java Applets = " & bc.JavaApplets & "<br>")
      strLabel.Append("支持 ActiveX Controls = " & bc.ActiveXControls & "<br>")
      strLabel.Append("CDF = " & bc.CDF & "<br>")
      strLabel.Append("W3CDomVersion  = " + bc.W3CDomVersion.ToString + "<br>")
      strLabel.Append("UserAgent  = " + Request.UserAgent + "<br>")
      strLabel.Append("UserLanguages  = " + Request.UserLanguages(0).ToString + "<br>")
      strLabel.Append("<hr color='#000099'>")
      strLabel.Append("客户端计算机基本配置:<br>")
      strLabel.Append("UserHostName  = " + Request.UserHostName + "<br>")
      strLabel.Append("UserHostAddress  = " + Request.UserHostAddress + "<br>")
      Label1.Text = strLabel.ToString()
    End If
  End Sub
  
End Class

解决方案 »

  1.   

    下面的代码实现了检测客户端显示器分辨率、浏览器类型和客户端IP的功能。你可以把客户端信息保存到Session,ViewState等中以便在其它的页面直接使用。ClientPeek.aspx<%@ Page language="vb" EnableViewState="false" Codebehind="ClientPeek.aspx.vb"
     AutoEventWireup="false" Inherits="aspxWeb.ClientPeek"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
      <HEAD>
        <title>检测客户端显示器分辨率、浏览器类型和客户端IP</title>
        <META http-equiv="Content-Type" content="text/html; charset=gb2312">
        <meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
        <meta content="C#" name="CODE_LANGUAGE">
        <meta content="【孟子E章】:http://xml.sz.luohuedu.net/" name="CopyRight">
        <meta content="JavaScript" name="vs_defaultClientScript">
        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
      </HEAD>
      <body id="MyBody" MS_POSITIONING="GridLayout" runat="server">
        <form id="browserpeek" runat="server">
          <asp:label id="Label1" runat="server"></asp:label></form>
      </body>
    </HTML>ClientPeek.aspx.vbImports SystemPublic Class ClientPeek
      Inherits System.Web.UI.Page
      Protected WithEvents Label1 As System.Web.UI.WebControls.Label
      Protected WithEvents MyBody As System.Web.UI.HtmlControls.HtmlGenericControl
    #Region " Web 窗体设计器生成的代码 "  '该调用是 Web 窗体设计器所必需的。
      <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()  End Sub  '注意: 以下占位符声明是 Web 窗体设计器所必需的。
      '不要删除或移动它。
      Private designerPlaceholderDeclaration As System.Object  Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
      End Sub#End Region  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles MyBase.Load
        Dim Button1 As New System.Web.UI.WebControls.Button
        If Not Me.IsPostBack Then
          Dim btnW As New System.Web.UI.HtmlControls.HtmlInputHidden
          Dim btnH As New System.Web.UI.HtmlControls.HtmlInputHidden
          Button1.ID = "Button1"
          btnW.Name = "WidthPixel"
          btnW.ID = "WidthPixel"
          btnH.Name = "HeightPixel"
          btnH.ID = "HeightPixel"
          Me.FindControl("browserpeek").Controls.Add(btnW)
          Me.FindControl("browserpeek").Controls.Add(btnH)
          Me.FindControl("browserpeek").Controls.Add(Button1)
          Dim scriptString As String = ""
          scriptString += "document.browserpeek.WidthPixel.value=window.screen.width;"
          scriptString += "document.browserpeek.HeightPixel.value=window.screen.height;"
          Me.RegisterOnSubmitStatement("Meng", scriptString)
          Me.MyBody.Attributes.Add("onload", "document.browserpeek.Button1.click();")
        Else
          Me.MyBody.Attributes.Remove("onload")
          If Me.FindControl("browserpeek").Controls.Contains(Button1) Then
            Me.FindControl("browserpeek").Controls.Remove(Button1)
            Button1.Dispose()
          End If
          Dim strLabel As New System.Text.StringBuilder
          Dim bc As HttpBrowserCapabilities = Request.Browser
          strLabel.Append("您的浏览器的分辨率为:")
          strLabel.Append(Request.Form("WidthPixel"))
          strLabel.Append("×")
          strLabel.Append(Request.Form("HeightPixel"))
          strLabel.Append("<hr color='#000099'>")
          strLabel.Append("浏览器基本信息:<br>")
          strLabel.Append("Type = " & bc.Type & "<br>")
          strLabel.Append("Name = " & bc.Browser & "<br>")
          strLabel.Append("Version = " & bc.Version & "<br>")
          strLabel.Append("Major Version = " & bc.MajorVersion & "<br>")
          strLabel.Append("Minor Version = " & bc.MinorVersion & "<br>")
          strLabel.Append("Platform = " & bc.Platform & "<br>")
          strLabel.Append("Is Beta = " & bc.Beta & "<br>")
          strLabel.Append("Is Crawler = " & bc.Crawler & "<br>")
          strLabel.Append("Is AOL = " & bc.AOL & "<br>")
          strLabel.Append("Is Win16 = " & bc.Win16 & "<br>")
          strLabel.Append("Is Win32 = " & bc.Win32 & "<br>")
          strLabel.Append("支持 Frames = " & bc.Frames & "<br>")
          strLabel.Append("支持 Tables = " & bc.Tables & "<br>")
          strLabel.Append("支持 Cookies = " & bc.Cookies & "<br>")
          strLabel.Append("支持 VB Script = " & bc.VBScript & "<br>")
          strLabel.Append("支持 JavaScript = " & bc.JavaScript & "<br>")
          strLabel.Append("支持 Java Applets = " & bc.JavaApplets & "<br>")
          strLabel.Append("支持 ActiveX Controls = " & bc.ActiveXControls & "<br>")
          strLabel.Append("CDF = " & bc.CDF & "<br>")
          strLabel.Append("W3CDomVersion  = " + bc.W3CDomVersion.ToString + "<br>")
          strLabel.Append("UserAgent  = " + Request.UserAgent + "<br>")
          strLabel.Append("UserLanguages  = " + Request.UserLanguages(0).ToString + "<br>")
          strLabel.Append("<hr color='#000099'>")
          strLabel.Append("客户端计算机基本配置:<br>")
          strLabel.Append("UserHostName  = " + Request.UserHostName + "<br>")
          strLabel.Append("UserHostAddress  = " + Request.UserHostAddress + "<br>")
          Label1.Text = strLabel.ToString()
        End If
      End Sub
      
    End Class
      

  2.   

    window.screen.height;  window.screen.width; 可以得到客户端 的分辨率
    把用两个hidden存储他们的值  然后接受一下
      

  3.   

    哈,我还没有这样使用过,收藏。我通常都是在CLIENT生成HIDE域想SERVER传输的。
      

  4.   

    我也是用 javascript 获得的