当前位置:首页 > 开发 > Web前端 > JavaScript > 正文

javascript学习笔记五

发表于: 2012-05-11   作者:bsr1983   来源:转载   浏览次数:
摘要:   第9章客户端检测        先设计最通用的方案,然后在使用特定于浏览器的技术增强该方案。 9.1 能力检测        能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力。采用这种方式不必估计特定的浏览器如何如何,只要确定浏览器支持特定的能力

 

9章客户端检测

       先设计最通用的方案,然后在使用特定于浏览器的技术增强该方案。

9.1 能力检测

       能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力。采用这种方式不必估计特定的浏览器如何如何,只要确定浏览器支持特定的能力,就可以给出解决方案。

9.1.1 更可靠的能力检测

       能力检测对于想知道某个特性是否会按照适当的方式行事(而不仅仅是某个特性存在)非常有用。

9.1.2 能力检测,不是浏览器检测

       检测某个或某几个特性并不能够确定浏览器。

9.2 怪癖检测

       与能力检测类似,怪癖检测(quirks detection)的目标是识别浏览器的特殊行为。但与能力检测确认浏览器支持什么能力不同,怪癖检测是想要知道浏览器存在什么缺陷。

9.3 用户代理检测

       用户代理检测通过检测用户代理字符串来确定实际使用的浏览器。

       所谓点击欺骗(spoofing),就是指浏览器通过在自己的用户代理字符串中加入一些错误或误导性信息,来达到欺骗服务器的目的。

9.3.1 用户代理字符串的历史

       GeckoFireFox的呈现引擎。

       很多时候,检测特定的浏览器还不如搞清楚它是否基于Gecko更重要。

9.3.2 用户代理字符串检测技术

       1.识别呈现引擎

       确切知道浏览器的名字和版本号不如确切知道它使用的是什么呈现引擎。

9.3.3 完整的代码

9.3.4 使用方法

       用户代理检测室客户端检测的最后一个选择。只要可能,都应该优先采用能力检测和怪癖检测。用户代理检测一般适用于如下情形:

       1)不能直接准确地使用能力检测或怪癖检测。

       2)同一款浏览器在不同平台下具备不同的能力。

       3)为了跟踪分析等目的需要知道确切的浏览器

10 DOM

       DOM(文档对象模型)是针对HTMLXML文档的一个API(应用程序编程接口)。DOM描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。

       注意,IE中的所有DOM对象都是以COM对象的形式实现的。这意味着IE中的DOM对象与原生JavaScript对象的行为或活动特点并不一致。

10.1 节点层次

       文档节点是每个文档的根节点。在HTML页面中,文档元素始终都是<html>元素。

       每一段标记都可以通过树中的一个节点来表示:HTML元素通过元素节点表示,特性(attribute)通过特性节点表示,文档类型通过文档节点表示,而注释则通过注释节点表示。

10.1.1 Node类型

       DOM1级定义了一个Node接口,该接口将由DOM中的所有节点类型实现。这个Node接口在JavaScript中是作为Node类型实现的;除了IE之外,在其他所有浏览器中都可以访问到这个类型。JavaScript中的所有节点类型都继承自Node类型,因此所有节点类型都共享着相同的基本属性和方法。

10.1.2 Document类型

       JavaScript通过Document类型表示文档。在浏览器中,document对象是HTMLDocument(继承自Document)的一个实例,表示整个HTML页面。

      1)document对象有一个body属性,直接指向<body>元素。

      2)document.title包含<title>元素中的文本。

      3)document.URL包含页面完整的URL(即地址栏中显示的URL

      4) document.domain属性中只包含页面的域名。

      5)document.referrer保存这链接到当前页面的那个页面的URL

      6)document.anchors包含文档中所有带name属性的<a>元素

      7)document.applets包含文档中所有的<applet>元素

      8)document.forms包含文档中所有的<form>元素

      9)document.images包含文档中所有的<img>元素

      10)document.links包含文档中所有带href特性的<a>元素

10.1.3 Element类型

       Element类型用于表现XMLHTML元素,提供了对元素标签名、子节点及特性的访问。

10.1.4 Text类型

       文本节点由Text类型表示,包含的是可以照字面解释的纯文本内容。纯文本中可以包含转义后的HTML字符,但不能包含HTML代码。

10.1.5 Comment类型

       注释在DOM中是通过Comment类型来表示的。

10.1.6 CDATASection类型

       CDATASection类型只针对基于XML的文档,表示的是CDATA区域。

10.1.7 DocumentType类型

       DocumentType类型在Web浏览器中并不常用,仅有FirefoxSafariOpra支持它。DocumentType包含着与文档的doctype有关的信息。

10.1.8 DocumentFragment类型

       在所有的节点类型中,只有DocumentFragment在文档中没有对应的标记。DOM规定文档片段(document fragment)是一种“轻量级”的文档,可以包含和控制节点,但不会像完整的文档那样占用额外的资源。

10.1.9 Attr类型

       元素的特性在DOM中以Attr类型表示。在所有浏览器中都可以访问Attr类型的构造函数和原型。

       Attr对象有3个属性:namevaluespecified。其中,name是特性名称(与nodeName的值相同),value是特性的值(与nodeValue的值相同),而specified是一个布尔值,用以区别特性是在代码中指定的,还是默认的。

10.2 DOM操作技术

10.2.1 动态脚本

       跟操作HTML元素一样,创建动态脚本也有两种方式:插入外部文件和直接插入JavaScript代码。

10.7.2 动态样式

     能够把CSS样式包含到HTML页面中的元素有两个。其中,<link>元素用于包含来自外部的文件,而<style>元素用于指定嵌入的样式。与动态脚本类似,所谓的动态样式是指在页面刚加载时不存在的样式;动态样式是在页面加载完成后动态添加到页面中的。

10.7.3 操作表格

10.7.4 使用NodeList

       理解NodeList及其“近亲”NamedNodeMapHTMLCollection,是从整体上透彻理解DOM的关键所在。这三个集合都是“动态的”;换句话说,每当文档结构发生变化时,它们都会得到更新。因此,它们始终都会保存着最新、最准确的信息。

10.3 小结

       DOM是语言中立的API,用于访问和操作HTMLXML文档。DOM1级将HTMLXML文档形象地看作一个层次化的节点树,可以使用JavaScript来操作这个节点树,进而改变底层文档的外观和结构。

javascript学习笔记五

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
javascript中的继承和Closures 实现继承的两种方法 使用"call"函数,call允许我们在一个上下文环境
javascript中的继承和Closures 实现继承的两种方法 使用"call"函数,call允许我们在一个上下文环境
一.数组概述 数组是值的有序集合。每个值叫做元素,每个元素在数组中都有数字位置编著号,也就是索
一.数组概述 数组是值的有序集合。每个值叫做元素,每个元素在数组中都有数字位置编著号,也就是索
今天先贴两张图上了,明天接着来 不好意思,发到了论坛里面,但是由于写了4篇文章,博客每天只能存3
目前,市场上流行有很多web服务器软件,每种服务器都有自己的特点。我们在开发的过程中,经常要和它
[引用]:翱翔云天 970 views 今天,我们来详细学习web dypro view,先来复习一下: view对用户来说是最
先在我们来自己布置一个404页面 from django.http import Http404 from django.shortcuts import re
beans标签的属性 可以设置是配置文件初始化的时候是全部初始化,还是延迟初始化 默认是全部初始化 sp
Chapter 6 Menus & Popovers 现在,你有了一个level和游戏元素可以原则上让游戏可以玩了。再添加更
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号