不到万不得已不要使用客户端检测。
9.1能力检测
目标不是识别特定的浏览器,而是识别浏览器的能力。
window.onload = function(){ function getWindowWidth(){ if (window.innerWidth){ return window.innerWidth; } else if (document.documentElement.clientWidth){ return document.documentElement.clientWidth; } else if (document.body.clientWidth){ return document.body.clientWidth; } } //确定浏览器是否有Netscape插件 var hasNSPlugins = !!(navigator.plugins && navigator.plugins.length); //浏览器是否具有基本的DOM1级功能 var hasDOM1 = !!(document.getElementById && document.createElement && document.getElementsByTagName); alert("Window width: " + getWindowWidth()); alert("Supports Netscape plugins? " + hasNSPlugins); alert("Supports Core DOM 1? " + hasDOM1); }
9.2 怪癖检测
想要知道浏览器存在什么缺陷
var hasDontEnumQuirk = function(){ var o = { toString : function(){} }; for (var prop in o){ if (prop == "toString"){ return false; } } return true; }(); var hasEnumShadowsQuirk = function(){ var o = { toString : function(){} }; var count = 0; for (var prop in o){ if (prop == "toString"){ count++; } } return (count > 1); }(); alert(hasDontEnumQuirk); alert(hasEnumShadowsQuirk);
9.2 用户代理检测
通过检测用户代理字符串来确定实际使用的浏览器。
相关推荐
### JavaScript权威指南学习笔记二:客户端JavaScript #### 第十二章:Web浏览器中的JavaScript ##### 一、Web浏览器环境 在客户端JavaScript中,浏览器提供了一个特定的执行环境,其中`window`对象扮演着至关...
这份“JavaScript练习程序学习笔记”很可能包含了一系列的代码示例、学习心得和常见问题解答,旨在帮助学习者深入理解和掌握JavaScript编程。 在JavaScript的学习过程中,首先会接触到基础语法,包括变量声明(var...
第十九章 客户端存储 1.cookie ①最初是在客户端用于存储会话信息的。 1.1 限制 ①cookie在性质上是绑定在特定的域名下的。当设定了一个cookie后,再给创建它的域名发送请求时,都会包含这个cookie。 ②cookie的限制...
《JavaScript高级程序设计(第三版)》是学习JavaScript的重要参考资料,涵盖了许多核心概念和技术。以下是该书前五章主要知识点的详细讲解: 1. 在HTML中使用JavaScript: - `<script>`标签用于引入JavaScript...
在深入探讨JavaScript编程语言之前,...在《JavaScript高级程序设计》这本书中,作者深入探讨了这些概念,并提供了一系列实用的编程技巧和最佳实践,这对于任何希望深化JavaScript知识的开发者来说都是一份宝贵的资源。
在进行JavaScript编程时,错误处理和调试是不可避免的两个重要环节。良好的错误处理机制能够帮助开发者快速定位和解决问题,而有效的调试技巧则能够帮助开发者理解和优化代码逻辑。接下来,我们将详细介绍如何在...
JavaScript学习笔记讲解版参考.pdf是一份详尽的教程,涵盖了从基础到进阶的JavaScript知识。这份笔记首先从CSS样式表开始,引导读者理解网页样式的设置与应用。 1. CSS(Cascading Style Sheets)样式表是用于控制...
这只是JavaScript学习笔记的一小部分,JavaScript还有更多高级特性和概念,如对象、数组、函数、类、模块、闭包等,以及DOM操作、事件处理、Ajax异步请求等内容,需要进一步深入学习和实践才能掌握。
JavaScript起初被称为Livescript,设计为一种基于对象和事件驱动的语言,它具有良好的安全性,并且完全在客户端即用户的浏览器上运行,与服务器端无关。 在HTML文档中,JavaScript代码通常通过`<script>`标签进行...
JavaScript是一种广泛用于网页和网络应用的脚本语言,主要用于客户端的网页开发,让网页具有动态交互功能。在本文中,我们将深入探讨JavaScript的核心概念,包括HTML、CSS、DOM操作、函数、闭包、变量声明、面向对象...
【描述】:“达内学习笔记,.chm格式的,有java方面的,struts方面的,JavaScript方面的,反正就是达内的课程都有,挺全的,希望和大家分享!” 这份压缩包中的笔记是用CHM(Compiled HTML Help)格式编写的,这是...
JavaScript学习笔记 JavaScript是一种强大的、跨平台的编程语言,主要用于为网页和应用程序添加交互性。在Web开发中,JavaScript与HTML和CSS一起构成了基础的三驾马车。本教程将帮助初学者理解JavaScript的核心概念...
对于 JavaScript,《JavaScript高级程序设计》是一本经典教材;关于 MySQL,你可以参考《MySQL必知必会》。实践是提升技能的关键,尝试用 Java 开发简单的命令行应用,用 JavaScript 编写网页交互脚本,以及用 MySQL...
通过学习《JavaWeb程序设计任务教程第2版》并解决课后习题,你可以掌握以上这些关键知识点,从而在JavaWeb开发领域建立扎实的基础。文档中的word和pdf文件可能包含了详细的解题步骤、代码示例以及相关的技术解析,是...
【压缩包子文件的文件名称列表】: "Web程序设计10.csf" 这个文件可能是一个课程资料文件,格式为".csf",它可能包含了课程笔记、代码示例、练习题解或其他学习资源。由于没有提供具体的文件格式信息,我们无法确定它...
JavaScript是Web开发中不可或缺的一部分,尤其在2023年,随着前端技术的不断发展,JavaScript的应用范围更加广泛。以下是对给定文件中提及的JavaScript知识点的详细解释: 1. **CSS选择器的大小写敏感性**:在CSS中...