JavaScript权威指南:ECMA Script 5+HTML5 DOM+HTML5 BOM

JavaScript权威指南:ECMA Script 5+HTML5 DOM+HTML5 BOM
作 者: 张亚飞
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: J2EE
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  张亚飞,务实且极富远见的万维网权威大师。《万维网应用程序开发纲要》的起草者。多本权威书籍的撰写者,浸淫万维网15年,功力非凡。

内容简介

《JavaScript权威指南:ECMAScript5+HTML5DOM+HTML5BOM》包含了javascript 开发的所有内容,包括ecmascript5、oop、原型链、html5bom、html5dom、coredom、styledom、eventdom、dhtml、xmlhttprequest、ajax、web workers、web storage、web sql database、cross document messaging、server-sent event、web sockets、activexobject、hta等。这些功能介绍都严格按照ecmascript5和html5标准的要求编写,并附有详细的范例,侧重于实战。书中提供了各种浏览器兼容性指南,以帮助用户深入理解。另外,《JavaScript权威指南:ECMAScript5+HTML5DOM+HTML5BOM》修正了当前普遍存在的错误认识,有利于初学者的学习。新的机遇已经到来,对于想尽快掌握javascript新技术的用户来说,《JavaScript权威指南:ECMAScript5+HTML5DOM+HTML5BOM》是最完整的教程,希望本书能成为您学习道路上的领航者。

图书目录

第i篇ecmascript和javascript语言基础入门篇

第1章 正确认识ecmascript5和javascript

1.1ecmascript和javascript的关系

1.1.1关于标准和实现

1.1.2javascript与ecmascript版本的关系

1.2有关javascript的认识

1.2.1区分javascript和jscript

1.2.2javascript不是解释型java语言

1.2.3什么是脚本语言

1.2.4区分客户端和服务端javascript

第2章 准备开发环境和运行环境

2.1正确认识javascript的开发工具

2.1.1dreamweaver的安装和配置向导

2.1.2aptanastudio的安装和配置向导

2.2准备执行环境

2.2.1浏览器的发展史

2.2.2安装浏览器

2.2.3在浏览器中启用javascript执行环境

第3章 在网页中编写javascript脚本代码

3.1创建第一个javascript应用程序

3.1.1使用dreamweaver编写javascript

3.1.2使用aptanastudio编写javascript

3.2在html网页中书写javascript脚本代码

3.2.1使用script元素定义脚本代码

3.2.2在事件属性值中定义脚本

3.2.3在超链接中定义脚本

3.3浏览器不支持脚本时应注意的问题

3.3.1noscript元素

3.3.2关于隐藏脚本数据

3.4声明脚本语言

3.4.1默认的脚本语言

3.4.2脚本语言的本地声明

第4章 程序开发的基石--声明和使用变量

4.1变量的声明

4.1.1声明和命名变量

4.1.2变量和标识符的命名规范

4.1.3变量的数据类型

4.1.4自定义常量和内建常量

4.2在程序中使用变量

4.2.1为变量赋值和更改变量值

4.2.2使用变量和获取变量值

4.3变量的传值和传址

4.3.1传值变量--按值传递

4.3.2传址变量--按引用传递

4.4内存使用规则--堆和栈

4.4.1栈的使用规则

4.4.2堆的使用规则

4.4.3易犯的错误

4.5数据类型转换

第5章 javascript语法规范和良好的编程习惯

5.1空白和多行书写

5.2点语法

5.3花括号

5.4分号

5.5圆括号

5.6字母的大小写

5.7程序注释

5.7.1单行注释和尾随注释

5.7.2多行注释

5.7.3文档注释

5.7.4html注释

5.8关键字

5.9培养良好的编程习惯

5.9.1通用的变量名、方法名和类名命名约定

5.9.2重构

5.9.3使用注释

5.1ecmascript5严格模式

5.10.1使用严格模式

5.10.2严格模式的特定要求

第6章 数据运算和运算规则

6.1javascript表达式

6.1.1简单表达式和复杂表达式

6.1.2赋值表达式和单值表达式

6.2算术运算符

6.2.1算术运算符的使用

6.2.2进行算术运算时的注意事项

6.3赋值运算符

6.4字符串运算符

6.5比较运算符和逻辑运算符

6.5.1数据类型的影响

6.5.2全等运算符

6.5.3特殊值的比较

6.5.4易犯错的比较运算

6.6位运算符

6.7其他运算符

6.7.1三元条件运算符

6.7.2typeof运算符

6.7.3instanceof运算符

6.7.4圆括号和逗号运算符的结合使用

6.7.5delete运算符

6.7.6void运算符

6.8运算符的使用规则

6.8.1运算符的优先级规则

6.8.2运算符的结合规则

6.9运行时进行类型检查

第7章 流程控制

7.1语句和语句块

7.2if…else条件语句

7.3switch条件语句

7.4do...while循环

7.5for循环

7.6for...in循环

7.7foreach...in循环

7.8其他流程控制

7.8.1break语句

7.8.2continue语句

7.8.3标签语句

7.8.4let语句

7.8.5yield语句

7.9with语句

7.1流程控制总结

第8章 内建的全局函数

8.1eval()函数

8.2转义操作函数

8.2.1escape()和unescape()函数

8.2.2encodeuri()和decodeuri()函数

8.2.3encodeuricomponent()和decodeuricomponent()函数

8.3转换函数

8.3.1parsefloat()函数

8.3.2parseint()函数

8.3.3number()和string()函数

8.3.4boolean()函数

8.4判断函数

8.4.1isfinite()函数

8.4.2isnan()函数

第9章 自定义函数

9.1函数的定义

9.2函数的调用

9.2.1在函数中定义参数的初始值

9.2.2嵌套函数的定义和调用

9.2.3条件函数的定义和调用

9.2.4特殊的调用方式

9.3使用函数表达式定义函数(匿名函数)

9.3.1函数表达式和函数语句的区别

9.3.2匿名自执行函数

9.4使用function类定义函数

9.5变量的作用范围和生命周期

9.5.1了解变量的作用范围和生命周期

9.5.2局部变量的声明

9.5.3全局变量的声明

9.5.4全局变量和局部变量的使用

9.5.5易出错的变量使用

9.6形参和实参

9.7闭包函数(绑定函数)

9.7.1什么是闭包函数

9.7.2闭包函数常用的环境

9.7.3易犯的错误

9.8产生器

第ii篇javascript面向对象编程篇

第10章 面向对象编程(oop)--创建类和使用类

10.1面向对象编程思想

10.1.1对象的抽象

10.1.2对象的使用

10.1.3易犯的错误

10.1.4面向对象程序设计的优点和基本特征

10.1.5面向对象和结构化程序设计的区别

10.2创建类

10.2.1创建一个javascript类

10.2.2类的定义

10.2.3关于构造器方法

10.2.4获取构造器方法

10.3类的使用

10.3.1创建类的实例

10.3.2访问对象属性

10.3.3调用对象方法

10.3.4调用静态方法和访问静态属性

10.4使用this关键字定义方法和属性

10.5使用prototype定义方法和属性

10.5.1使用prototype定义方法

10.5.2使用prototype定义属性

10.5.3关于prototype和__proto__属性

10.6使用object类为实例定义方法和属性

10.6.1使用return语句定义方法和属性

10.6.2使用prototype和object配合为类定义方法和属性

10.7使用get和set存取器方法定义属性

10.8在类体内使用this关键字

10.8.1使用this时易犯的错误

10.8.2闭包方法(绑定方法)内的this关键字

10.8.3事件处理中的闭包

10.8.4另一个使用this时易犯的错误

第11章 建立更可靠的oop程序--类和成员的访问控制

第12章 重复使用类--继承和组合

12.1类的继承

12.1.1创建子类

12.1.2使用基类的构造器方法

12.1.3检测继承关系

12.1.4使用$super实现访问基类

12.1.5创建子类时的注意事项

12.2扩展内建javascript类

12.3类的组合

12.3.1实现类的组合

12.3.2组合的优点

12.3.3了解is-a和has-a

12.3.4关于聚合和组合

第13章 静态成员、静态类和枚举(enumeration)

13.1定义静态成员和静态类的意义

13.2创建静态成员

13.2.1使用静态成员

13.2.2静态成员和继承

13.2.3使用静态成员的注意事项

13.3静态类及其声明方法

13.4枚举(enumeration)

13.4.1创建枚举

13.4.2使用枚举的优点

第14章 多态(polymorphism)--重载和覆载

14.1方法的重载(overload)

14.1.1重载参数列表的数量

14.1.2重载参数列表的数据类型

14.2方法的覆载(override)

14.3属性的覆载

第15章 原型链本质论

15.1原型链的根源

15.1.1内部属性

15.1.2访问内部属性[prototype]

15.2prototype的作用--原型链的实现

15.2.1实现继承

15.2.2分享属性(和方法)

15.2.3__proto__和prototype属性的区别

15.2.4使用ecmascript5新增的原型处理功能

15.3检查原型链

15.3.1查看对象是否在指定对象的原型链中

15.3.2查看指定对象是否定义了特定属性和方法

15.3.3使用hasownproperty()方法过滤原型链

15.3.4查看指定对象是否定义了特定属性且可以枚举

第16章 ecmascript5增强的对象模型

16.1属性和描述符

16.1.1易犯的错误

16.1.2使用ecmascript5增强的对象模型定义属性

16.1.3定义get和set存取器方法

16.1.4一次定义多个属性

16.1.5获取特定属性的属性描述符

16.2枚举属性

16.2.1object.keys(obj)方法

16.2.2object.getownpropertynames(obj)方法

16.3密封对象和动态对象

16.3.1密封对象不允许添加成员

16.3.2密封对象不允许添加和删除成员

16.3.3完全密封对象

16.3.4易犯的错误

16.4根据原型创建对象

第17章 处理字符串--string类和正则表达式

17.1正则表达式语法

17.1.1正则表达式的基本语法

17.1.2优先权顺序

17.2使用regexp处理字符串正则匹配

17.2.1创建一个regexp对象

17.2.2使用exec()和test()方法进行正则匹配

17.3使用string类处理字符串

17.3.1string类的方法和属性

17.3.2创建打字机效果

17.3.3使用match()方法

17.3.4使用replace()方法

17.3.5使用$替换变量

17.3.6使用search()方法

17.3.7使用split()方法

17.3.8创建html格式的字符串

第18章 数组、多维数组和复合数组(哈希映射)

18.1创建数组

18.1.1创建数组的基本方法

18.1.2使用索引数组

18.1.3使用全局函数array()时的注意事项

18.2实现和使用多维数组

18.3使用arrayapi处理数组

18.3.1常用的范例

18.3.2ecmascript5新增方法的使用

18.3.3数组的排序

18.4克隆数组

18.4.1浅表克隆

18.4.2深度克隆

18.5创建和使用复合数组

18.5.1使用object对象创建复合数组

18.5.2使用array对象创建复合数组

18.5.3遍历复合数组

18.6哈希表

18.6.1实现哈希表

18.6.2使用哈希表

18.7array推知

第19章 处理日期和时间

19.1使用date类处理日期和时间

19.1.1返回当前时间和日期

19.1.2返回特定的时间和日期

19.1.3获取特定时间和日期字段

19.1.4设置特定时间和日期字段

19.1.5使用parse()方法解析日期字符串

19.1.6使用date.utc()方法返回时间戳

19.2实现日期输入控件

第20章 其他javascript内建类(核心对象)

20.1使用boolean类处理逻辑值

20.2使用number类进行数字类型转换

20.3使用math类进行复杂的数学运算

20.4使用function和arguments类

20.4.1function类

20.4.2arguments类和arguments属性

20.5json操作

20.5.1序列化javascript数据为json数据

20.5.2逆序列化json数据为javascript数据

第iii篇html5bom篇

第21章 bom之源--window对象

21.1定时器--间隔调用和延迟调用

21.1.1使用setinterval()和clearinterval()方法实现间隔调用

21.1.2范例--创建打字机效果

21.1.3使用settimeout()和cleartimeout()方法实现延迟调用

21.1.4易犯的错误

21.1.5强制清除

21.2基本的交互操作

21.2.1警告对话框

21.2.2确认对话框

21.2.3提示输入消息对话框

21.2.4使用增强的交互式对话框

21.2.5范例--使用交互式对话框相互传值

21.2.6打印

21.3窗口交互操作

21.3.1打开新窗口

21.3.2关闭窗口

21.3.3取消文档加载

21.3.4获取窗口引用

21.3.5调整窗口的焦点

21.4网页和浏览器交互

第22章 bom基本应用--管理浏览历史、解析地址和获取浏览器信息

22.1浏览历史管理

22.2解析地址

22.3获取浏览器信息

22.3.1遍历navigator对象成员

22.3.2检测浏览器类型

22.3.3自定义架构处理

22.3.4自定义内容类型处理

22.3.5手动处理storage独占访问权

22.3.6检测脱机模式

22.4非标准应用

22.4.1screen对象

22.4.2clipboarddata对象

第23章 bom新成就(1)--客户端数据存储技术

23.1web存储

23.2本地存储和会话存储

23.2.1在客户端持久存储数据

23.2.2关于浏览器兼容

23.2.3在会话期存储数据

23.3storage接口

23.3.1获取和更新存储

23.3.2清除存储

23.3.3清除指定的键

23.3.4添加新键和更新键值

23.4storage事件

23.5websqldatabase

23.5.1第1个websqldatabase应用

23.5.2使用websqldatabase的基本步骤

23.6异步数据库

23.6.1执行数据库事务

23.6.2数据库版本管理

23.6.3执行sql语句

23.7同步数据库

23.7.1执行数据库事务

23.7.2数据库版本管理

23.7.3执行sql语句

23.8处理数据库操作结果

23.9错误和异常

23.1在开发人员工具中使用sql语句

23.11sqlitesql语法和数据库的数据类型

23.12sql注入缺陷和参数化查询

第24章 bom新成就(2)--新的服务器通信技术

24.1服务器推送技术

24.1.1使用server-sentevent入门

24.1.2服务器要求

24.1.3使用eventsource对象

24.1.4在webworkers中使用eventsource对象

24.2套接字连接

24.2.1使用websocket入门

24.2.2关于websocket通信协议

24.2.3使用websocket对象

第iv篇dom篇  

第25章 html5dom新标准--处理文档元信息和管理交互功能

25.1了解dom

25.1.1dom基于节点树的表现形式

25.1.2什么是htmldom

25.1.3htmldom和核心dom的区别与联系

25.1.4什么是接口

25.2document对象

25.2.1处理文档元信息

25.2.2实用功能--处理cookie

25.2.3检查文档状态

25.2.4开启和关闭文档

25.2.5易犯的错误--区分两个open方法

25.2.6向网页中写入内容

25.2.7清除网页中的内容

25.2.8实用功能--弹出通知窗口

25.2.9使整个文档都可编辑

25.2.10焦点管理

25.3编辑api

25.3.1命令

25.3.2创建网页富文本编辑器

第26章 使用coredom方法处理htmldom树

26.1一切皆是节点--学习dom的首要认识

26.1.1javascriptdomapi的节点类型

26.1.2节点的层次关系

26.2处理dom文档

26.3使用domapi处理html文档

26.3.1基本的节点处理

26.3.2节点名、节点值和属性

26.3.3删除html文档中的元素节点、属性和内容

26.3.4使用replacechild()方法替换节点

26.4主要接口的使用

26.4.1document接口

26.4.2attr接口

26.4.3cdatasection接口

26.4.4characterdata接口

26.4.5comment接口

26.4.6documentfragment接口

26.4.7documenttype接口

26.4.8domexception接口

26.4.9domimplementation接口

26.4.10element接口

26.4.11entity接口

26.4.12entityreference接口

26.4.13notation接口

26.4.14processinginstruction接口

26.4.15text接口

26.4.16nodelist接口

26.4.17namednodemap接口

第27章 使用html5dom扩展coredom方法

27.1使用html5dom访问元素

27.1.1遍历节点树

27.1.2getelementsbytagname()方法

27.1.3getelementsbyname()方法和getter属性

27.1.4getelementbyid()方法

27.1.5getelementsbyclassname()方法

27.1.6关于htmlelement接口

27.1.7innerhtml属性、outerhtml属性和insertadjacenthtml()方法

27.2修改html文档

27.3根据css选择符访问元素

27.4表单处理

27.4.1处理输入控件

27.4.2获取上载文件

27.4.3使用html5domapi验证控件

27.5html5dom通用接口的使用

27.5.1htmlcollection接口

27.5.2htmlallcollection接口

27.5.3htmlformcontrolscollection接口

27.5.4htmloptionscollection接口

27.5.5htmlpropertiescollection接口

27.5.6domtokenlist接口

27.5.7domsettabletokenlist接口

27.5.8domstringmap接口

27.5.9domexception接口

27.5.10radionodelist接口

第28章 使用dhtml和样式dom处理css样式表

28.1在html文档中应用css

28.1.1嵌入式

28.1.2外部引用式

28.1.3内联式

28.2了解规则块、规则和样式

28.2.1规则块

28.2.2规则和样式

28.2.3@规则

28.3处理css

28.3.1使用style属性处理内联css

28.3.2处理style和link元素定义的样式表

28.3.3处理导入的样式表

28.3.4添加指令和规则

28.3.5样式表相关对象

28.4dom样式表

28.4.1stylesheet接口

28.4.2stylesheetlist接口

28.4.3medialist接口

28.4.4linkstyle接口

28.4.5documentstyle接口

28.5domcss规范

28.5.1cssstylesheet接口

28.5.2cssrulelist接口

28.5.3cssrule接口

28.5.4cssimportrule接口

28.5.5cssstylerule接口

28.5.6cssstyledeclaration接口

28.6兼容性指南

28.6.1获取样式规则

28.6.2获取导入的样式规则

28.6.3新增@import规则

28.6.4新增@page规则

28.6.5新增样式规则

28.6.6删除样式规则

第29章 事件dom

29.1基本事件处理

29.1.1事件处理的三要素

29.1.2事件处理的实现

29.1.3事件处理的总结

29.1.4处理事件

29.2事件流

29.2.1捕获阶段(capturingphase)

29.2.2目标阶段(targetingphase)

29.2.3冒泡阶段(bubblingphase)

29.2.4可用的基本交互事件

29.3事件对象

29.4响应键盘事件

29.4.1获取按键

29.4.2响应组合键事件

第30章 dhtml范例

30.1滚动播出效果(marquee)

30.1.1竖直滚动的文本行

30.1.2竖直滚动的图片

30.1.3水平滚动的图片

30.2常用的广告效果

30.2.1广告的随机滚动出现

30.2.2对联广告

30.3导航菜单和选项卡面板

30.3.1二级分层式导航菜单

30.3.2弹出菜单式导航

30.3.3选项卡面板

30.4处理表单

30.4.1表单复选框全选

30.4.2表单的验证

第v篇ajax篇  

第31章 xmlhttprequest和ajax解决方案

31.1ajax的核心

31.2ajax的使用

31.2.1一个标准的ajax应用所应具备的步骤

31.2.2xmlhttprequest的方法和属性

31.2.3一个标准的同步调用所应具备的步骤

31.2.4编码混乱问题的解决

31.2.5跨浏览器兼容

31.2.6ajax的特点

31.2.7解决请求被浏览器缓存问题

31.3处理返回值中的xml

31.3.1处理解析错误

31.3.2domparser

31.3.3xmlserializer

31.3.4domimplementation

31.4跨域请求

31.4.1使用代理实现跨域请求

31.4.2使用xdomainrequest

31.4.3xdomainrequest跨域访问控制

第32章 ajax框架--spry和jquery

32.1当前比较流行的ajax框架

32.2spry使用入门

32.2.1第一个spry范例

32.2.2数据集的动态绑定

32.2.3spry框架的组成部分

32.3jquery使用入门

32.3.1第一个jquery范例

32.3.2基本语法

第33章 网页、网站和网络应用程序

33.1安装和设置网络应用程序的运行环境

33.1.1安装iis

33.1.2通过服务器请求网页

33.2web服务器根目录和虚拟目录

33.2.1web服务器根目录

33.2.2虚拟目录

33.2.3启用默认文件

33.3安装asp.net应用程序服务器

第34章 网页的请求和响应

34.1了解请求和响应的基本过程

34.1.1请求和响应的基本过程

34.1.2了解uri、url和urn

34.2http协议基础

34.2.1了解http消息的内容

34.2.2了解http请求的内容

34.2.3了解http响应的内容

34.2.4了解http消息报头的内容

第vi篇安全性、执行效率、部署与实战篇

第35章 javascript安全和同源策略

35.1跨站脚本攻击(xss)

35.1.1如何防范跨站脚本攻击

35.1.2使用asp.net的请求验证防范xss

35.2相同origin策略的限制--同源策略

35.2.1了解origin

35.2.2放松相同起点限制

第36章 javascript部署和高性能javascript

36.1文档瘦身

36.2控制内存

36.3优化代码的一般常识

36.4页面重构--domreflow和repaint

36.4.1关于domreflow和repaint

36.4.2优化domreflow

36.4.3优化repaint

36.5使用webworkers优化javascript执行--多线程

36.5.1检查浏览器支持

36.5.2求素数的复杂运算

36.5.3使用webworkers入门

36.6webworkers规范api

36.6.1worker及其类型

36.6.2worker中可以使用的api

36.6.3创建worker

36.6.4处理运行时错误

36.7创建和使用专职worker

36.7.1终止worker

36.7.2消息的互传

36.8创建和使用共享worker

36.8.1消息的互传

36.8.2连接同一个共享worker

第37章 处理程序异常--建立可靠的应用程序

37.1错误和异常情况

37.2异常情况处理

37.2.1使用try...catch...finally语句

37.2.2使用throw语句

37.2.3使用异常捕捉

37.3使用error处理异常错误信息

37.4条件catch语句

第38章 javascript调试技术

38.1了解开发人员工具

38.2开发人员工具的组成和使用

38.2.1调试工具栏

38.2.2激活javascript调试

38.2.3主要内容窗口

38.2.4使用断点

38.2.5使用条件断点

38.2.6控制执行

38.2.7"局部变量"窗口

38.2.8"监视"窗口

38.2.9"调用堆栈"窗口

38.3使用脚本调试工具范例实战

38.3.1定义一个javascript网页

38.3.2调试实战

38.4"控制台"窗口

38.4.1使用"控制台"窗口

38.4.2对警报和错误消息进行日志记录

第vii篇javascript和activexobject篇

第39章 使用fso访问文件系统

39.1使用filesystemobject类

39.1.1类和集合

39.1.2检查磁盘、文件和文件夹是否存在

39.1.3访问磁盘、文件和文件夹

39.1.4关于ie专用的enumerator

39.2处理文件夹

39.3处理文件

39.3.1创建文件

39.3.2向文件中添加数据

39.3.3读取文件内容

39.3.4textstream类成员概要

39.3.5移动、复制和删除文件

第40章 使用ado访问数据库

40.1安装和使用access数据库

40.1.1安装access数据库软件

40.1.2使用access创建数据库

40.2理解数据库连接和配置数据源

40.2.1理解数据库连接

40.2.2理解数据库连接驱动

40.2.3通过odbc连接数据库

40.3基本数据库查询操作

40.3.1查询和显示数据库记录

40.3.2遍历列出数据库内容

40.4修改数据

40.4.1插入数据记录

40.4.2更新数据记录

40.4.3删除数据记录

40.5操作数据库结构

40.6在javascript程序中应用ado的基本步骤

40.6.1创建连接

40.6.2创建命令

40.6.3执行命令

40.6.4处理结果

40.6.5关闭连接

40.7sql语法入门

40.7.1sql语法的基础知识

40.7.2定义记录集的列

40.7.3限制记录集中的记录

40.7.4对记录集中的记录进行排序

40.7.5联接表

第41章使用msxml处理xml

41.1在javascript应用程序中处理xml文档

41.1.1了解xml文档对象

41.1.2dom基于节点的浏览

41.1.3了解msxmldom组件

41.1.4使用domdocument

41.2创建和保存xml文档对象

41.2.1解析字符串为dom

41.2.2解析xml文件为xmldom

41.2.3使用版本号创建xmldom

41.2.4保存和写出一个xml文档对象

41.3使用xml对象处理数据内容

41.3.1遍历节点树

41.3.2使用getelementsbytagname()方法

41.3.3使用xpath从xml文档中提取数据

41.3.4修改xml文档

41.4使用sax处理xml文档

41.4.1什么是sax

41.4.2sax的工作原理

41.4.3msxmlsax的使用

第42章使用owc创建统计图表

42.1创建简单统计图表

42.1.1创建简单柱状图

42.1.2创建立体柱状图

42.1.3使用样式表创建柱状图

42.2使用officeweb组件(owc)创建统计图表

42.2.1安装owc

42.2.2使用owc

42.2.3owc组件的工作原理

42.2.4创建饼图

42.2.5增加数据系列

42.2.6使用owc配合数据库查询

第43章使用cdo发送和接收电子邮件

43.1安装和使用smtp服务

43.1.1安装smtp服务

43.1.2配置smtp服务

43.1.3配置outlook使用本地smtp服务发送邮件

43.1.4区分pop3和smtp服务

43.2创建发送邮件的javascript应用程序

43.2.1了解cdo

43.2.2创建简单的邮件发送程序

43.2.3使用远程smtp服务

43.2.4了解cdo组件成员

43.2.5smtp服务和cdo组件的工作原理

43.3创建增强的邮件发送程序

43.3.1发送带附件的电子邮件

43.3.2发送多媒体邮件

43.3.3群发邮件--抄送和密送

43.4使用http方式收信

43.4.1分拣邮件

43.4.2管理本地smpt服务接收邮件的基本原理

43.5如何解决错误消息

附录a保留的关键字

附录b键盘键和键控代码值对照表

附录cw3c的xmlhttprequest接口规范

附录dinput元素type属性值与htmlinputelementapi匹配索引

附录ehtml5元素和html5dom接口的对应关系

附录fhtml4和html5事件属性对照表

附录g参考资料来源