`
bird12010
  • 浏览: 8042 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

《javascript高级程序设计》学习笔记9 客户端检测

阅读更多

不到万不得已不要使用客户端检测。

 

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权威指南学习笔记二:客户端JavaScript #### 第十二章:Web浏览器中的JavaScript ##### 一、Web浏览器环境 在客户端JavaScript中,浏览器提供了一个特定的执行环境,其中`window`对象扮演着至关...

    JavaScript练习程序学习笔记.rar

    这份“JavaScript练习程序学习笔记”很可能包含了一系列的代码示例、学习心得和常见问题解答,旨在帮助学习者深入理解和掌握JavaScript编程。 在JavaScript的学习过程中,首先会接触到基础语法,包括变量声明(var...

    JavaScript高级程序设计 客户端存储学习笔记

    第十九章 客户端存储 1.cookie ①最初是在客户端用于存储会话信息的。 1.1 限制 ①cookie在性质上是绑定在特定的域名下的。当设定了一个cookie后,再给创建它的域名发送请求时,都会包含这个cookie。 ②cookie的限制...

    JavaScript高级程序设计(第三版)学习笔记1~5章

    《JavaScript高级程序设计(第三版)》是学习JavaScript的重要参考资料,涵盖了许多核心概念和技术。以下是该书前五章主要知识点的详细讲解: 1. 在HTML中使用JavaScript: - `<script>`标签用于引入JavaScript...

    对javascript的一点点认识总结《javascript高级程序设计》读书笔记

    在深入探讨JavaScript编程语言之前,...在《JavaScript高级程序设计》这本书中,作者深入探讨了这些概念,并提供了一系列实用的编程技巧和最佳实践,这对于任何希望深化JavaScript知识的开发者来说都是一份宝贵的资源。

    JavaScript高级程序设计 错误处理与调试学习笔记

    在进行JavaScript编程时,错误处理和调试是不可避免的两个重要环节。良好的错误处理机制能够帮助开发者快速定位和解决问题,而有效的调试技巧则能够帮助开发者理解和优化代码逻辑。接下来,我们将详细介绍如何在...

    javascript学习笔记讲解版参考.pdf

    JavaScript学习笔记讲解版参考.pdf是一份详尽的教程,涵盖了从基础到进阶的JavaScript知识。这份笔记首先从CSS样式表开始,引导读者理解网页样式的设置与应用。 1. CSS(Cascading Style Sheets)样式表是用于控制...

    JavaScript学习笔记讲解

    这只是JavaScript学习笔记的一小部分,JavaScript还有更多高级特性和概念,如对象、数组、函数、类、模块、闭包等,以及DOM操作、事件处理、Ajax异步请求等内容,需要进一步深入学习和实践才能掌握。

    JavaScript - 学习笔记

    JavaScript起初被称为Livescript,设计为一种基于对象和事件驱动的语言,它具有良好的安全性,并且完全在客户端即用户的浏览器上运行,与服务器端无关。 在HTML文档中,JavaScript代码通常通过`<script>`标签进行...

    Javascript学习笔记.docx

    JavaScript是一种广泛用于网页和网络应用的脚本语言,主要用于客户端的网页开发,让网页具有动态交互功能。在本文中,我们将深入探讨JavaScript的核心概念,包括HTML、CSS、DOM操作、函数、闭包、变量声明、面向对象...

    达内学习笔记,java笔记

    【描述】:“达内学习笔记,.chm格式的,有java方面的,struts方面的,JavaScript方面的,反正就是达内的课程都有,挺全的,希望和大家分享!” 这份压缩包中的笔记是用CHM(Compiled HTML Help)格式编写的,这是...

    Javascript学习笔记-学JS的一手教程

    JavaScript学习笔记 JavaScript是一种强大的、跨平台的编程语言,主要用于为网页和应用程序添加交互性。在Web开发中,JavaScript与HTML和CSS一起构成了基础的三驾马车。本教程将帮助初学者理解JavaScript的核心概念...

    个人日常技术学习笔记。目前主要涵盖 Java 、JavaScript 、MySQL.zip

    对于 JavaScript,《JavaScript高级程序设计》是一本经典教材;关于 MySQL,你可以参考《MySQL必知必会》。实践是提升技能的关键,尝试用 Java 开发简单的命令行应用,用 JavaScript 编写网页交互脚本,以及用 MySQL...

    JavaWeb程序设计任务教程第2版课后题答案

    通过学习《JavaWeb程序设计任务教程第2版》并解决课后习题,你可以掌握以上这些关键知识点,从而在JavaWeb开发领域建立扎实的基础。文档中的word和pdf文件可能包含了详细的解题步骤、代码示例以及相关的技术解析,是...

    Web程序设计10 Web程序设计10 Web程序设计10 Web程序设计10

    【压缩包子文件的文件名称列表】: "Web程序设计10.csf" 这个文件可能是一个课程资料文件,格式为".csf",它可能包含了课程笔记、代码示例、练习题解或其他学习资源。由于没有提供具体的文件格式信息,我们无法确定它...

    2023年Javascript学习笔记.docx

    JavaScript是Web开发中不可或缺的一部分,尤其在2023年,随着前端技术的不断发展,JavaScript的应用范围更加广泛。以下是对给定文件中提及的JavaScript知识点的详细解释: 1. **CSS选择器的大小写敏感性**:在CSS中...

Global site tag (gtag.js) - Google Analytics