- 浏览: 1125512 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (349)
- javascript (28)
- objective-c&cocos2d (46)
- 开发备忘及常用java代码 (46)
- core java7学习笔记 (13)
- Mina (7)
- HTML5 (13)
- 系统集成项目管理工程师学习笔记 (10)
- 数据库系统原理学习笔记 (11)
- C++学习笔记 (10)
- C语言学习笔记 (5)
- 数据结构学习笔记 (4)
- 计算机网络原理学习笔记 (3)
- 计算机组成原理学习笔记 (2)
- 软件工程学习笔记 (6)
- 开发工具 (15)
- OSGI学习 (1)
- 学习笔记 (19)
- oracle (3)
- java tv (1)
- web server (5)
- javafx (1)
- 随笔 (8)
- 梦舞集 (4)
- 工作流 (3)
- 程序错误记录 (6)
- Windows (2)
- Linux (4)
- Git (1)
- 企业管理 (2)
- android (1)
- JVM (17)
- box2dweb (1)
- 操作系统学习笔记 (6)
- 英语学习 (1)
- Windows 8 应用商店 (1)
- Go语言 (1)
- docker (1)
- visualVM源码学习 (0)
- MariaDB (0)
- JAVA7 (2)
- 面向对象存储 (0)
- Hibernate (14)
- Spring (3)
- 项目构建 (0)
- 读源码学JAVA (0)
- mybatis (1)
- spring mvc (2)
- Javassist (0)
最新评论
-
白天看黑夜:
Apache Mina Server 2.0 中文参考手册(带 ...
Mina学习笔记二_基础 -
yjph83:
兄弟,你这个解决方案是什么什么啊?我现在遇到个问题跟你类似的! ...
Tomcat 8.0.11 移动端访问报400错误问题 -
comedsh:
你好,我也想为开源的做点事情,想让 tomcat-redis- ...
利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法 -
bsr1983:
这个应该是浏览器内部设置的,你可以在Android上试一下别的 ...
javascript学习笔记八 -
787250527:
bsr1983 写道该值是浏览器内部的一个变量,只读的,不可修 ...
javascript学习笔记八
第9章客户端检测
先设计最通用的方案,然后在使用特定于浏览器的技术增强该方案。
9.1 能力检测
能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力。采用这种方式不必估计特定的浏览器如何如何,只要确定浏览器支持特定的能力,就可以给出解决方案。
9.1.1 更可靠的能力检测
能力检测对于想知道某个特性是否会按照适当的方式行事(而不仅仅是某个特性存在)非常有用。
9.1.2 能力检测,不是浏览器检测
检测某个或某几个特性并不能够确定浏览器。
9.2 怪癖检测
与能力检测类似,怪癖检测(quirks detection)的目标是识别浏览器的特殊行为。但与能力检测确认浏览器支持什么能力不同,怪癖检测是想要知道浏览器存在什么缺陷。
9.3 用户代理检测
用户代理检测通过检测用户代理字符串来确定实际使用的浏览器。
所谓点击欺骗(spoofing),就是指浏览器通过在自己的用户代理字符串中加入一些错误或误导性信息,来达到欺骗服务器的目的。
9.3.1 用户代理字符串的历史
Gecko是FireFox的呈现引擎。
很多时候,检测特定的浏览器还不如搞清楚它是否基于Gecko更重要。
9.3.2 用户代理字符串检测技术
1.识别呈现引擎
确切知道浏览器的名字和版本号不如确切知道它使用的是什么呈现引擎。
9.3.3 完整的代码
9.3.4 使用方法
用户代理检测室客户端检测的最后一个选择。只要可能,都应该优先采用能力检测和怪癖检测。用户代理检测一般适用于如下情形:
(1)不能直接准确地使用能力检测或怪癖检测。
(2)同一款浏览器在不同平台下具备不同的能力。
(3)为了跟踪分析等目的需要知道确切的浏览器
第10章 DOM
DOM(文档对象模型)是针对HTML和XML文档的一个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类型用于表现XML或HTML元素,提供了对元素标签名、子节点及特性的访问。
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浏览器中并不常用,仅有Firefox、Safari和Opra支持它。DocumentType包含着与文档的doctype有关的信息。
10.1.8 DocumentFragment类型
在所有的节点类型中,只有DocumentFragment在文档中没有对应的标记。DOM规定文档片段(document fragment)是一种“轻量级”的文档,可以包含和控制节点,但不会像完整的文档那样占用额外的资源。
10.1.9 Attr类型
元素的特性在DOM中以Attr类型表示。在所有浏览器中都可以访问Attr类型的构造函数和原型。
Attr对象有3个属性:name、value和specified。其中,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及其“近亲”NamedNodeMap和HTMLCollection,是从整体上透彻理解DOM的关键所在。这三个集合都是“动态的”;换句话说,每当文档结构发生变化时,它们都会得到更新。因此,它们始终都会保存着最新、最准确的信息。
10.3 小结
DOM是语言中立的API,用于访问和操作HTML和XML文档。DOM1级将HTML和XML文档形象地看作一个层次化的节点树,可以使用JavaScript来操作这个节点树,进而改变底层文档的外观和结构。
发表评论
-
使用JQuery动态创建元素并插入到合适的位置
2014-08-22 16:35 7106在编写页面列表时,有个动态添加元素的需求,需要按照元素的某个 ... -
自定义jquery ui 中dialog的弹出位置
2014-02-13 19:12 17600jquery ui的dialog默认弹出位置为页面的中部,如 ... -
异步加载子页面
2014-02-13 19:04 3273今天在编写运营后台的时候,遇到一个需要在同一页面中根据当前某 ... -
checked属性设置
2013-11-14 18:28 1302function imgDouleClick(pid){ ... -
ZTree中按节点层次展开树节点的方法
2013-08-20 11:45 9013ZTree的API中没有找到按层次展开节点的方法,由于系统中 ... -
动态表格
2013-06-26 21:13 1133<!DOCTYPE html> <htm ... -
[转载] Jquery操作radio,checkbox,select表单操作实现代码
2013-04-03 11:33 1365转自:http://www.oschina.net/code/ ... -
jquery ui 日期控件添加时间选择
2013-03-14 10:37 86341.下载时间选择插件js和css文件 地址:http://tr ... -
jscompiler-使用swing封装google js compiler
2012-06-11 11:47 1540使用swing封装google js compiler,可实 ... -
javascript学习笔记十
2012-06-04 23:48 1721第16章 HTML5脚本编程 16.1 跨 ... -
javascript学习笔记九
2012-05-24 00:25 3092第14章表单脚本 14.1 表 ... -
javascript学习笔记八
2012-05-24 00:24 9339第13章事件 JavaScript与 ... -
javascript学习笔记七
2012-05-24 00:22 1284第12章 DOM2和DOM3 ... -
javascript学习笔记六
2012-05-15 23:31 5200第11章 DOM扩展 对DOM的两个 ... -
javascript压缩及反压缩
2012-05-09 14:10 2172javascript反压缩网站:http://jsbeauti ... -
javascript学习笔记四
2012-05-07 22:40 1113第7章函数表达式 定义函数的方式有两 ... -
javascript学习笔记三
2012-05-06 10:20 1329第6章面向对象的程 ... -
javascript学习笔记二
2012-05-06 10:00 1334第5章引用类型 引用类型的值(对象) ... -
javascript学习笔记一
2012-05-06 09:59 1297第三章Javascript的核心概念 ... -
javascript实现div跟随滚动条移动
2011-03-03 17:06 6516实现过程中 ...
相关推荐
个人Javascript学习笔记 精华版 本资源为个人Javascript学习笔记的精华版,涵盖了Javascript的基础知识、事件处理、对象和系统函数、浏览器对象等方面的内容。下面是对每个知识点的详细说明: 1. 什么是JavaScript...
HTML+CSS+JavaScript教程学习笔记HTML+CSS+JavaScript教程学习笔记 HTML+CSS+JavaScript教程学习笔记HTML+CSS+JavaScript教程学习笔记 HTML+CSS+JavaScript教程学习笔记HTML+CSS+JavaScript教程学习笔记 ...
以上是JavaScript学习笔记中提到的一些核心知识点,通过对这些知识点的理解和熟练应用,可以为进一步学习和掌握JavaScript打下坚实的基础。在实际开发过程中,结合具体的项目需求,这些知识会得到更深入的拓展和应用...
JavaScript 学习笔记集和代码库JavaScript 学习笔记集和代码库JavaScript 学习笔记集和代码库JavaScript 学习笔记集和代码库JavaScript 学习笔记集和代码库JavaScript 学习笔记集和代码库JavaScript 学习笔记集和...
### JavaScript学习笔记 #### 1. JavaScript简介 JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。作为一种动态、弱类型、基于原型的语言,JavaScript内置支持类的概念。JavaScript引擎作为...
五、 JavaScript 中的文字对象 * 文字对象是JavaScript中的一种内置对象 * 文字对象可以获取和设置文本的内容 * 文字对象可以实现文本的操作和处理 * 文字对象可以实现字符串的搜索和替换 六、 JavaScript 中的...
### JavaScript学习笔记精要 #### JavaScript简介 JavaScript是一种强大的、多用途的脚本语言,用于增强网站的交互性和用户体验。它是由Netscape公司的Brendan Eich在1995年发明的,并且迅速成为了Web开发的标准之...
这份"javascript入门学习笔记"旨在为初学者提供一个全面且深入的JavaScript学习路径。 一、基础语法 JavaScript的基础包括变量、数据类型、操作符、流程控制等。变量用于存储数据,数据类型分为基本类型(如字符串...
本学习笔记将深入探讨JavaScript的核心概念,包括变量、数据类型、操作符、控制流程、函数、对象、数组、原型链、闭包等,并结合实际示例,如my.js、order.js、login.js等文件,来讲解其在实际项目中的应用。...
这份“javascript学习笔记整理知识点整理”是针对初学者的一份宝贵资料,涵盖了JavaScript的基础知识,旨在帮助新手快速入门并掌握这门语言的核心概念。 一、变量与数据类型 在JavaScript中,变量用于存储数据。...
前端学习笔记网站(HTML5+CSS3+JavaScript前端网页web课程设计).rar前端学习笔记网站(HTML5+CSS3+JavaScript前端网页web课程设计).rar前端学习笔记网站(HTML5+CSS3+JavaScript前端网页web课程设计).rar ...
Javascript学习笔记PPTJavascript学习笔记PPTJavascript学习笔记PPTJavascript学习笔记PPTJavascript学习笔记PPTJavascript学习笔记PPTJavascript学习笔记PPTJavascript学习笔记PPTJavascript学习笔记PPTJavascript...
这篇学习笔记主要涵盖了JavaScript的基础语法和客户端JavaScript的相关知识。 1. **JavaScript基本语法**: - **变量声明**:未声明的变量尝试读取时会产生错误,而写入未声明的变量会创建一个全局变量。 - **...
JavaScript学习笔记讲解版参考.pdf是一份详尽的教程,涵盖了从基础到进阶的JavaScript知识。这份笔记首先从CSS样式表开始,引导读者理解网页样式的设置与应用。 1. CSS(Cascading Style Sheets)样式表是用于控制...
JavaScript学习笔记是一本关于JavaScript编程语言的教材,该教材通过丰富的实例,系统地介绍了JavaScript的基础知识和实际应用技巧,帮助读者一步步掌握客户端编程技术。本书共分为九章,每一章都有其特定的主题,...
5. 未定义型:undefined,表示变量未被赋值。 JavaScript是弱类型语言,变量的类型在赋值时确定。通过`typeof`操作符可以检测变量的数据类型。 算术运算符包括加减乘除(`+`、`-`、`*`、`/`)、取余(`%`)、自增...