`
happinessshuang
  • 浏览: 22116 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

判断客户端的几个属性的简单对象

 
阅读更多
目前程序中用于判断客户端信息的对象

需求不高所以比较简单不一定精确

游戏中一般只需要判断是否IE、是否IE6、是否手机这三个功能

该对象可判断客户端的操作系统类型、浏览器类型、客户机器是电脑还是手机类、访问协议是HTTP还是FILE

这里只简单的使用判断当非windows、Mac、Unix这三个系统就是手机

//用户对象,用于储存用户的浏览器、操作系统、客户端类型
$User=function(){
	var platform=navigator.platform,userAgent=navigator.userAgent,
		isWin=(platform=='Win32'||platform=="Windows"),
		isMac=(platform=='Mac68K'||platform=='MacPPC'||platform=='Macintosh'),
		isUnix=(platform=='X11'&&!isWin&&!isMac),
		isPC=isWin||isMac||isUnix;
		return {//浏览器  判断IE:!!(window.attachEvent && !window.opera),!-[1,]
			Browser:{IE:!!(window.attachEvent && !window.opera),
				IE6:!!(window.attachEvent && !window.opera)&&!window.XMLHttpRequest,
				Opera:!!window.opera,
				WebKit:userAgent.indexOf('AppleWebKit/')>-1,
				Gecko:userAgent.indexOf('Gecko')>-1&&userAgent.indexOf('KHTML')==-1
			},
			//操作系统
			System:{Win:isWin,Mac:isMac,Unix:isUnix},
			//客户端机器类型
			Client:{PC:isPC,Mobile:!isPC},
			 //获取地址栏的协议,http表示
			HTTP:location.protocol.toLowerCase()=='http:'?1:0
		}
}(),

分享到:
评论

相关推荐

    jsp九大内置对象

    当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。  (2)Session对象的ID  当一个客户首次访问服务器上的一个JSP页面时,JSP...

    客户端统一验证JavaScript函数库及示例源码

    ChkInputs.js应运而生,使用它不需要编写多少代码,只需对验证元素简单配置一下即可,使用方便,也不会影响页面的布局,并可以精确判断客户端输入框的长度、必填、数据类型(整数型、浮点型、字母型、数字字母混合型)...

    java-servlet-api.doc

    在客户端加入之前,我们不能判断下一个客户端请求是目前会话的一部分。 在下面的情况下,Session会被认为是新的Session。 客户端的Session在此之前还不知道 客户端选择不加入Session,例如,如果客户端拒绝接收来自...

    银行账户管理系统 简称BAM(项目介绍及源码)绝对精典

    将Account类作成完全封装,注意:要辨别每个属性的set/get方法是否需要公开 练习3:(继承,多态) 银行的客户分为两类,储蓄账户(SavingAccount)和信用账户(CreditAccount),区别在于储蓄账户不允许透支,而信用账户可以...

    Android项目源码开源的 Material Design 豆瓣客户端.zip

    豆瓣广播在几年前就已经是国内少有的几个 Android Design 的应用,这一点一直令我钦佩和喜爱。在豆瓣应用最开始的版本中,也曾有过 Material Design 的尝试,但随着和 iOS 风格设计的杂糅,逐渐显得不合时宜,以至于...

    ASP.NET的网页代码模型及生命周期

    Web开发不像软件开发,Web应用实际上是没有状态的,这就说明Web应用程序不自动指示序列中的请求是否来自相同的浏览器或客户端,也无法判断浏览器是否一直在浏览一个页面或者一个站点,也无法判断用户执行了哪个操作...

    JAVA上百实例源码以及开源项目源代码

    Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个...

    JAVA上百实例源码以及开源项目

    6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...

    Java开发技术大全 电子版

    11.1.4几个常用术语332 11.2集合类的使用333 11.2.1顺序表(ArrayList)使用示例333 11.2.2链表(LinkedList)使用示例336 11.2.3优先队列(PriorityQueue)使用示例340 11.2.4哈希集合(HashSet)使用示例343 ...

    JavaScript笔记

    |--arr.splice(开始位置,删除几个[,x1,x2,x3...]) |--arr.indexOf(x) 返回x在数组中的下标---经常用于判断元素是否存在。如返回-1,x则不在数组中 18.Number对象: |--x.toFixed(num):可把Number四舍五入为指定...

    C#全能速查宝典

    分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用的属性、方法、类和各种技术,...

    java面试题

    35. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 18 36. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?...

    【。net 专业】 面试题

    然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。 12.概述.NET里对 remoting 和 ...

    asp.net面试题

    然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。 12.概述.NET里对 remoting 和 ...

    Java 基础核心总结 +经典算法大全.rar

    示例:简易的客户端服务器通信 集合 集合框架总览 -、Iterator Iterable ListIterator 二、Map 和 Collection 接口Map 集合体系详解 HashMap LinkedHashMap TreeMap WeakHashMap Hashtable Collection 集合体系详解 ...

    ExtAspNet_v2.3.2_dll

    -增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。 -修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。 -删除Button控件...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。 -修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。 -删除Button控件...

Global site tag (gtag.js) - Google Analytics