XuGang

记录一个程序员的成长

 

检测客户端显示器分辨率、浏览器类型和客户端IP(转)

http://blog.csdn.net/net_lover/archive/2003/07/25/6936.aspx

下面的代码实现了检测客户端显示器分辨率、浏览器类型和客户端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.vb

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
 

 


 

posted on 2007-09-12 18:29  钢钢  阅读(357)  评论(0编辑  收藏  举报

导航