原文:检测客户端显示器分辨率、浏览器类型和客户端IP

下面的代码实现了检测客户端显示器分辨率、浏览器类型和客户端IP的功能。你可以把客户端信息保存到Session,ViewState等中以便在其它的页面直接使用。

例子

ClientPeek.aspx

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

ClientPeek.aspx.vb

Imports System
Public 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 窗体设计器所必需的。
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("


")
strLabel.Append("浏览器基本信息:
")
strLabel.Append("Type = " & bc.Type & "
")
strLabel.Append("Name = " & bc.Browser & "
")
strLabel.Append("Version = " & bc.Version & "
")
strLabel.Append("Major Version = " & bc.MajorVersion & "
")
strLabel.Append("Minor Version = " & bc.MinorVersion & "
")
strLabel.Append("Platform = " & bc.Platform & "
")
strLabel.Append("Is Beta = " & bc.Beta & "
")
strLabel.Append("Is Crawler = " & bc.Crawler & "
")
strLabel.Append("Is AOL = " & bc.AOL & "
")
strLabel.Append("Is Win16 = " & bc.Win16 & "
")
strLabel.Append("Is Win32 = " & bc.Win32 & "
")
strLabel.Append("支持 Frames = " & bc.Frames & "
")
strLabel.Append("支持 Tables = " & bc.Tables & "
")
strLabel.Append("支持 Cookies = " & bc.Cookies & "
")
strLabel.Append("支持 VB Script = " & bc.VBScript & "
")
strLabel.Append("支持 JavaScript = " & bc.JavaScript & "
")
strLabel.Append("支持 Java Applets = " & bc.JavaApplets & "
")
strLabel.Append("支持 ActiveX Controls = " & bc.ActiveXControls & "
")
strLabel.Append("CDF = " & bc.CDF & "
")
strLabel.Append("W3CDomVersion = " + bc.W3CDomVersion.ToString + "
")
strLabel.Append("UserAgent = " + Request.UserAgent + "
")
strLabel.Append("UserLanguages = " + Request.UserLanguages(0).ToString + "
")
strLabel.Append("

")
strLabel.Append("客户端计算机基本配置:
")
strLabel.Append("UserHostName = " + Request.UserHostName + "
")
strLabel.Append("UserHostAddress = " + Request.UserHostAddress + "
")
Label1.Text = strLabel.ToString()
End If
End Sub
End Class

C#代码

ClientPeek.aspx

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

var PDFPlugin = false;
try
{
pdftest=new ActiveXObject("PDF.PdfCtrl.6");
}
catch(e)
{
PDFPlugin = false
}

ClientPeek.aspx.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace eMeng.Exam
{
///

/// CheckPeek 的摘要说明。
///

public class ClientPeek : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.HtmlControls.HtmlGenericControl MyBody;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
System.Web.UI.WebControls.Button Button1 = new System.Web.UI.WebControls.Button();
if(!IsPostBack)
{
System.Web.UI.HtmlControls.HtmlInputHidden btnW = new System.Web.UI.HtmlControls.HtmlInputHidden();
System.Web.UI.HtmlControls.HtmlInputHidden btnH = new System.Web.UI.HtmlControls.HtmlInputHidden();
System.Web.UI.HtmlControls.HtmlInputHidden btnPDF = new System.Web.UI.HtmlControls.HtmlInputHidden();
Button1.ID = "Button1";
btnW.Name = "WidthPixel";
btnW.ID = "WidthPixel";
btnH.Name = "HeightPixel";
btnH.ID = "HeightPixel";
btnPDF.Name = "PDF";
btnPDF.ID = "PDF";
this.FindControl("browserpeek").Controls.Add(btnW);
this.FindControl("browserpeek").Controls.Add(btnH);
this.FindControl("browserpeek").Controls.Add(btnPDF);
this.FindControl("browserpeek").Controls.Add(Button1);
string scriptString = "";
scriptString += "document.all.browserpeek.WidthPixel.value=window.screen.width;\r\n";
scriptString += "document.all.browserpeek.HeightPixel.value=window.screen.height;\r\n";
scriptString += "document.all.browserpeek.PDF.value=PDFPlugin;\r\n";
this.RegisterOnSubmitStatement("Meng", scriptString);
this.MyBody.Attributes.Add("onload", "document.all."+Button1.ClientID+".click();");
}
else
{
this.MyBody.Attributes.Remove("onload");
if(this.FindControl("browserpeek").Controls.Contains(Button1))
{
this.FindControl("browserpeek").Controls.Remove(Button1);
Button1.Dispose();
}
System.Text.StringBuilder strLabel = new System.Text.StringBuilder();
HttpBrowserCapabilities bc = Request.Browser;
strLabel.Append("您的浏览器的分辨率为:");
strLabel.Append(Request.Form["WidthPixel"]);
strLabel.Append("×");
strLabel.Append(Request.Form["HeightPixel"]);
strLabel.Append("


");
strLabel.Append("浏览器基本信息:
");
strLabel.Append("Type = " + bc.Type + "
");
strLabel.Append("Name = " + bc.Browser + "
");
strLabel.Append("Version = " + bc.Version +"
");
strLabel.Append("Major Version = " + bc.MajorVersion + "
");
strLabel.Append("Minor Version = " + bc.MinorVersion + "
");
strLabel.Append("Platform = " + bc.Platform + "
");
strLabel.Append("Is Beta = " + bc.Beta + "
");
strLabel.Append("Is Crawler = " + bc.Crawler + "
");
strLabel.Append("Is AOL = " + bc.AOL + "
");
strLabel.Append("Is Win16 = " + bc.Win16 + "
");
strLabel.Append("Is Win32 = " + bc.Win32 + "
");
strLabel.Append("支持 Frames = " + bc.Frames + "
");
strLabel.Append("支持 Tables = " + bc.Tables + "
");
strLabel.Append("支持 Cookies = " + bc.Cookies + "
");
strLabel.Append("支持 VB Script = " + bc.VBScript + "
");
strLabel.Append("支持 JavaScript = " + bc.JavaScript + "
");
strLabel.Append("支持 Java Applets = " + bc.JavaApplets + "
");
strLabel.Append("支持 ActiveX Controls = " + bc.ActiveXControls + "
");
strLabel.Append("CDF = " + bc.CDF + "
");
strLabel.Append("W3CDomVersion = " + bc.W3CDomVersion.ToString() + "
");
strLabel.Append("UserAgent = " + Request.UserAgent + "
");
strLabel.Append("UserLanguages = " + Request.UserLanguages[0].ToString() + "
");
strLabel.Append("

");
strLabel.Append("客户端计算机基本配置:
");
strLabel.Append("UserHostName = " + Request.UserHostName + "
");
strLabel.Append("UserHostAddress = " + Request.UserHostAddress + "
");
strLabel.Append("PDF 6.0 插件是否安装 = " + Request.Form["PDF"] + "
");
Label1.Text = strLabel.ToString();
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
///
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///

private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}

检测客户端显示器分辨率、浏览器类型和客户端IP的更多相关文章

  1. PHP获取客户端操作系统,浏览器,语言,IP,IP归属地等

    <?php class Client { ////获得访客浏览器类型 function Get_Browser(){ if(!empty($_SERVER['HTTP_USER_AGENT']) ...

  2. JS判断浏览器类型,JS判断客户端操作系统

    JS判断浏览器类型 function judge(){ var browser = { versions: function() { var u = navigator.userAgent, app ...

  3. PHP获取客户端的IP、地理信息、浏览器、本地真实IP

    <?php header("Content-type:text/html;charset=utf-8"); // 作用获取客户端的ip.地理信息.浏览器.本地真实IP cla ...

  4. jQuery浏览器类型判断和分辨率判断

    < DOCTYPE html PUBLIC -WCDTD XHTML TransitionalEN httpwwwworgTRxhtmlDTDxhtml-transitionaldtd> ...

  5. 浏览器与web客户端的HTTP交互过程

    未经许可谢绝以任何形式对本文内容进行转载! HTTP协议是常见的几种应用层协议之一,当我们用浏览器和web客户端进行交互时html页面等内容的传输都是依靠该协议完成的.值得注意的是,HTTP使用的是T ...

  6. asp.net core系列 58 IS4 基于浏览器的JavaScript客户端应用程序

    一. 概述 本篇探讨使用"基于浏览器的JavaScript客户端应用程序".与上篇实现功能一样,只不过这篇使用JavaScript作为客户端程序,而非core mvc的后台代码Ht ...

  7. html5手机浏览器启动微信客户端支付实例

    html5手机浏览器启动微信客户端支付实例,外部浏览器html5微信支付技术,如何在手机浏览器微信支付,在微信客户端外的移动端网页使用微信支付 首先在微信支付官网https://pay.weixin. ...

  8. 从userAgent判断浏览器是什么(chorme ie 火狐)浏览器类型检测、浏览器检测

    一.正确的方法: 通过navigator对象的userAgent属性来判断, 主要是判断userAgent 的信息里是否含有以下字段信息: js代码(非完整版) /************ navig ...

  9. JS判断浏览器类型和屏幕分辨率来调用不同的CSS样式

    代码如下: <!-- if (window.navigator.userAgent.indexOf("MSIE")>=1) { var IE1024="&qu ...

随机推荐

  1. 二、Linux文件系统之内存管理

    虚拟内存  32位:4G 64位:2^64 内存管理: 进程管理 自动分配和管理 支持模块化程序设计 保护和访问控制 长期存储 虚拟内存  <---MMU-->物理内存

  2. Atitit.Gui控件and面板----数据库区-mssql 2008 权限 配置 报表查看成员

    Atitit.Gui控件and面板----数据库区-mssql 2008 权限 配置 报表查看成员 1. 配置server连接权限 1 2. 配置数据库权限 1 3. 设置表格/视图安全性 2 1.  ...

  3. 【.NET特供-第三季】ASP.NET MVC系列:MVC与三层图形对照(颠覆性理论)

           在[.NET特供-第三季]系列博客中的第一篇<ASP.NET MVC系列:MVC与三层图形对照>发表之后,引起了领导的注意.同一时候,开发小组内部在交流MVC和三层之间关系的 ...

  4. Qt Linux 使用QJson库

    1. 下载 到http://dl.oschina.net/soft/qjson下载库源文件: qjson-0.8.1-1385961227890.zip 解压为:qjson-0.8.1 2. 编译 c ...

  5. VNC-Server installation on CentOS 7

    参考资料: https://www.howtoforge.com/vnc-server-installation-on-centos-7 https://linux.cn/article-5335-1 ...

  6. Html.RenderPartial和Html.RenderAction的区别

    添加一个PartialController控制器 using System; using System.Collections.Generic; using System.Linq; using Sy ...

  7. C# DateTimePicker控件如何精确设置显示时分秒

    项目中需要使用DateTimePicker空间选定当前的时间,但是这个空间默认显示到天,如何能让它显示具体的小时和分钟呢? 我们看到有一个Format属性,Format令我们想到格式化,有这几种格式 ...

  8. WinHeap.H

    网上找到的,对 Windows Heap 有详细的定义. // file winheap.h typedef void VOID; typedef unsigned __int8 UINT8; typ ...

  9. 在Github上面搭建Hexo博客(一):部署到Github

    什么是Hexo Hexo是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在Github和Heroku上.并且有很多人为其制作了很多优秀的主题(theme),你可以根据自己的喜好进行设 ...

  10. 关于ImageView加载出现OOM问题

    略感蛋疼,一直以为应该不是这个问题的,所以调试了一下午,后来测试了下如果在XML里面改变ImageView的src话会出现什么问题 结果如我预料,仍然是只能显示部分图片,因为之前有运行成功了,我也不清 ...