《JavaScript宝典 第6版》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:(美)DannyGoodman,MichaelMorrison著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115193384
  • 页数:732 页
图书介绍:JavaScript脚本用于创建Web浏览器支持的交互式网页,是一种简单易学的Web编程语言。本书全面系统地介绍了客户端JavaScript脚本编程技术。从简单介绍JavaScript与Web开始,循序渐进地介绍了Web浏览器、基本的编程技巧和编程步骤;接着,深入探讨了浏览器文档对象模型的发展,详细介绍了JavaScript对象的有关知识,包括对象的属性、方法和事件处理程序等内容;最后,细致地讲述了JavaScript核心语言,包括String,Math,Date和Array等核心对象以及异常处理等内容。

第1部分 JavaScript起步 3

第1章 JavaScript在万维网及其他方面的作用 3

1.1 Web上的竞争 3

1.2 其他Web技术 4

1.2.1 超文本标记语言(HTML和XHTML) 4

1.2.2 CSS(层叠样式表) 4

1.2.3 服务器编程 4

1.2.4 辅助程序和插件程序 5

1.3 JavaScript:语言的集大成者 6

1.3.1 LiveScript变成了JavaScript 6

1.3.2 微软世界 6

1.4 JavaScript:灵活好用的工具 7

第2章 开发适用于各种浏览器的JavaScript 8

2.1 相互竞争 8

2.2 相互包容 9

2.3 当今的兼容性问题 9

2.3.1 将语言从对象中独立出来 9

2.3.2 核心语言标准 10

2.3.3 文档对象模型 11

2.3.4 层叠样式表 11

2.3.5 动态HTML和定位 12

2.4 开发脚本编写策略 12

第3章 第1个JavaScript脚本 13

3.1 软件工具 13

3.1.1 选择文本编辑器 13

3.1.2 选择浏览器 14

3.2 设置编写环境 14

3.2.1 Windows 14

3.2.2 Mac OS X 14

3.2.3 重载问题 15

3.3 第一个脚本的功能 15

3.4 输入第一个脚本 16

3.5 检查脚本 17

3.5.1 HTML文档 17

3.5.2 <script>标记 17

3.5.3 运行脚本的触发器 17

3.5.4 插入文本 17

3.5.5 获得浏览器信息 18

3.6 轻松编写脚本 18

第2部分 JavaScript教程 21

第4章 浏览器对象和文档对象 21

4.1 脚本运行初步 21

4.2 何时使用JavaScript 22

4.3 文档对象模型 22

4.3.1 HTML结构和DOM 23

4.3.2 浏览器窗口中的DOM 23

4.4 载入文档时 24

4.4.1 一个简单的文档 24

4.4.2 添加段落元素 24

4.4.3 添加段落文本 24

4.4.4 生成新元素 24

4.5 对象引用 25

4.5.1 对象命名 25

4.5.2 引用特定对象 25

4.6 节点术语 26

4.6.1 node概述 26

4.6.2 父与子 26

4.7 如何定义对象 27

4.7.1 属性 27

4.7.2 方法 28

4.7.3 事件 28

4.8 习题 29

第5章 脚本和HTML文档 30

5.1 脚本放在文档何处 30

5.1.1 <script>标记 30

5.1.2 标记位置 31

5.1.3 处理旧版本的浏览器 32

5.2 JavaScript语句 32

5.3 脚本语句何时执行 33

5.3.1 文档载入时,即刻执行 33

5.3.2 延时脚本 33

5.4 观察脚本错误 35

5.5 脚本和编程 35

5.6 习题 36

第6章 程序设计基础之一 37

6.1 关于JavaScript语言 37

6.2 处理信息 37

6.3 变量 38

6.3.1 创建变量 38

6.3.2 变量名 38

6.4 表达式和求值 39

6.4.1 脚本中的表达式 39

6.4.2 表达式和变量 40

6.5 数据类型转换 40

6.5.1 将字符串转换为数值 41

6.5.2 将数值转换为字符串 41

6.6 操作符 41

6.6.1 算术操作符 41

6.6.2 比较操作符 42

6.7 习题 42

第7章 程序设计基础之二 43

7.1 决策和循环 43

7.2 控制结构 43

7.2.1 if结构 44

7.2.2 if...else结构 44

7.3 重复循环 45

7.4 函数 45

7.4.1 函数参数 45

7.4.2 变量作用域 46

7.5 大括号 47

7.6 数组 48

7.6.1 创建数组 48

7.6.2 存取数组数据 48

7.6.3 关联数组 49

7.6.4 数组中的document对象 50

7.7 习题 50

第8章 window和document对象 51

8.1 顶层对象 51

8.2 window对象 51

8.2.1 访问窗口属性和方法 52

8.2.2 创建窗口 52

8.3 window对象的属性和方法 53

8.3.1 window.alert()方法 53

8.3.2 window.confirm()方法 53

8.3.3 window.prompt()方法 54

8.3.4 load事件 54

8.4 location对象 54

8.5 navigator对象 55

8.6 document对象 55

8.6.1 document.forms[]属性 55

8.6.2 document.images[]属性 56

8.6.3 document.write()方法 56

8.6.4 document.createElement()和document.createTextNode()方法 57

8.6.5 document.getElementById()方法 58

8.7 习题 58

第9章 表单和表单元素 59

9.1 form对象 59

9.1.1 作为对象和容器的表单 59

9.1.2 访问表单属性 60

9.1.3 form.elements[]属性 60

9.2 作为对象的表单控件 60

9.2.1 文本相关的输入对象 61

9.2.2 按钮对象 62

9.2.3 复选框对象 62

9.2.4 单选按钮对象 63

9.2.5 select对象 64

9.3 向函数传递表单数据和元素 65

9.4 提交和预验证表单 66

9.5 习题 67

第10章 String、Math和Date对象 68

10.1 核心语言对象 68

10.2 String对象 68

10.2.1 连接字符串 69

10.2.2 字符串方法 69

10.3 Math对象 70

10.4 Date对象 71

10.5 日期计算 72

10.6 习题 73

第11章 用脚本编写框架和多窗口 74

11.1 框架:父框架和子框架 74

11.2 家庭成员间的引用 75

11.2.1 父到子的引用 75

11.2.2 子到父的引用 75

11.2.3 子到子的引用 76

11.3 框架脚本编程提示 76

11.4 iframe元素简介 76

11.5 控制多框架——导航条 77

11.6 多窗口引用 78

11.7 习题 79

第12章 图像和动态HTML 80

12.1 image对象 80

12.1.1 可互换的图像 80

12.1.2 预缓存图像 81

12.1.3 创建图像翻转 82

12.2 无须脚本的翻转 84

12.3 Javascript:伪URL 85

12.4 流行的动态HTML技术 85

12.4.1 更改样式表设置 86

12.4.2 通过W3CDOM节点实现动态内容 86

12.4.3 通过innerHTML属性实现动态内容 86

12.5 习题 87

第3部分 文档对象参考 91

第13章 JavaScript基础 91

13.1 JavaScript版本 91

13.2 核心语言标准——ECMAScript 92

13.3 在HTML文档中嵌入脚本 92

13.3.1 <script>标记 92

13.3.2 从旧浏览器中隐藏脚本语句 93

13.3.3 完全隐藏脚本 94

13.3.4 向XHTML验证程序隐藏脚本 94

13.3.5 脚本库(.js文件) 95

13.4 浏览器版本检测 95

13.4.1 非脚本浏览器的编码 95

13.4.2 为不同的浏览器编写脚本 96

13.5 兼容性设计 99

13.5.1 处理beta版浏览器 99

13.5.2 The Evaluator Sr 100

13.5.3 参考章节中的兼容性等级 100

13.6 有经验程序员的语言基础 101

13.7 对象模型的发展 103

第14章 文档对象模型基础 104

14.1 对象模型层次 104

14.1.1 作为路径图的层次 104

14.1.2 浏览器文档对象路径图 105

14.2 文档对象的产生过程 105

14.3 对象属性 106

14.4 对象方法 106

14.5 对象事件处理器 107

14.6 对象模型概述 107

14.7 基本对象模型 108

14.8 基本附加图像对象模型 108

14.9 Navigator 4扩展 109

14.9.1 事件捕获模型 109

14.9.2 层 109

14.10 Internet Explorer 4+扩展 110

14.10.1 HTML元素对象 110

14.10.2 元素包含层次 110

14.10.3 层叠样式表 111

14.10.4 事件冒泡 111

14.11 Internet Explorer 5+扩展 111

14.12 W3C DOM 112

14.12.1 DOM层 112

14.12.2 规范中衡定不变的部分 113

14.12.3 W3C DOM中不具备的特性 113

14.12.4 新的HTML惯例 113

14.12.5 新DOM概念 114

14.12.6 静态W3C DOM HTML对象 119

14.12.7 双向事件模型 120

14.13 脚本编程趋势 121

14.13.1 将内容与脚本分离 121

14.13.2 尽可能使用W3C DOM 122

14.13.3 处理事件 122

14.14 标准兼容模式(DOCTYPE切换) 122

14.15 JavaScript对象模型基础小结 123

第15章 通用html元素对象 124

15.1 语法 126

15.2 关于这些对象 127

15.3 属性 127

15.4 方法 167

15.5 事件处理器 211

15.6 常用键盘事件任务 228

第16章 window对象和frame对象 239

16.1 window对象术语 239

16.2 框架 239

16.2.1 创建框架 240

16.2.2 框架对象模型 240

16.2.3 引用框架 240

16.2.4 top和parent 241

16.2.5 防止页面在其他Web站点的框架中显示 241

16.2.6 确认页面载入框架集 241

16.2.7 从有框架到去掉框架 242

16.2.8 继承性和封装性 242

16.2.9 框架同步 242

16.2.10 空白框架 242

16.2.11 查看框架源代码 243

16.2.12 框架和frame元素对象 243

16.3 window对象 243

16.3.1 语法 245

16.3.2 关于window对象 245

16.3.3 属性 246

16.3.4 方法 268

16.3.5 事件处理器 300

16.4 frame元素对象 304

16.4.1 语法 304

16.4.2 关于frame对象 304

16.4.3 属性 304

16.5 frameset元素对象 308

16.5.1 语法 308

16.5.2 关于frameset对象 309

16.5.3 属性 309

16.6 iframe元素对象 312

16.6.1 语法 312

16.6.2 关于iframe对象 313

16.6.3 属性 313

16.7 popup对象 316

16.7.1 语法 316

16.7.2 关于popup对象 316

16.7.3 属性 317

16.7.4 方法 317

第17章 Iocation对象和history对象 320

17.1 location对象 320

17.1.1 语法 320

17.1.2 关于location对象 320

17.1.3 属性 322

17.1.4 方法 329

17.2 history对象 331

17.2.1 语法 331

17.2.2 关于history对象 331

17.2.3 属性 332

17.2.4 方法 333

第18章 document对象和body对象 336

18.1 document对象 336

18.1.1 语法 338

18.1.2 关于document对象 338

18.1.3 属性 339

18.1.4 方法 365

18.1.5 事件处理器 380

18.2 body元素对象 381

18.2.1 语法 381

18.2.2 关于body对象 381

18.2.3 属性 382

18.2.4 方法 385

18.2.5 事件处理器 386

18.3 TreeWalker对象 386

18.3.1 语法 386

18.3.2 关于此对象 386

18.3.3 属性 387

18.3.4 方法 387

第19章 Link和Anchor对象 389

第20章 Image对象、Area对象、Map对象和Canvas对象 394

20.1 image和img元素对象 394

20.1.1 语法 395

20.1.2 关于此对象 395

20.1.3 属性 396

20.1.4 事件处理器 405

20.2 area元素对象 407

20.2.1 语法 407

20.2.2 关于此对象 407

20.2.3 属性 408

20.3 map元素对象 409

20.3.1 语法 409

20.3.2 关于此对象 409

20.3.3 属性 410

20.4 canvas对象 411

20.4.1 语法 412

20.4.2 关于此对象 412

20.4.3 属性 414

20.4.4 方法 416

第21章 Form及其相关对象 419

21.1 对象层次中的表单 419

21.2 form对象 419

21.2.1 语法 420

21.2.2 关于该对象 420

21.2.3 引用表单控件 420

21.2.4 将表单和元素传递到函数 421

21.2.5 用电子邮件传输表单 423

21.2.6 改变表单属性 424

21.2.7 表单按钮 424

21.2.8 提交后的重定位 424

21.2.9 表单元素数组 424

21.2.10 关于<input>元素对象 425

21.2.11 属性 425

21.2.12 方法 428

21.2.13 事件处理器 430

21.3 fieldset和legend元素对象 431

21.3.1 语法 431

21.3.2 关于这些对象 431

21.4 label元素对象 432

21.4.1 语法 432

21.4.2 关于该对象 432

21.4.3 属性 432

21.5 脚本编程和Web Forms 2.0 432

21.5.1 什么是Web Forms 2.0 433

21.5.2 Web Forms 2.0和JavaScript 433

第22章 按钮对象 434

22.1 button元素对象以及button、submit、reset输入对象 434

22.1.1 语法 434

22.1.2 关于这些对象 435

22.1.3 属性 436

22.1.4 方法 436

22.1.5 事件处理器 437

22.2 复选框输入对象 438

22.2.1 语法 438

22.2.2 关于该对象 438

22.2.3 属性 438

22.2.4 方法 440

22.2.5 事件处理器 441

22.3 单选button输入对象 442

22.3.1 语法 442

22.3.2 关于该对象 442

22.3.3 属性 443

22.3.4 方法 445

22.3.5 事件处理器 445

22.4 图像输入对象 446

22.4.1 语法 446

22.4.2 关于该对象 447

22.4.3 属性 447

第23章 文本相关表单对象 448

23.1 文本输入对象 448

23.1.1 语法 448

23.1.2 关于该对象 449

23.1.3 文本域和事件 449

23.1.4 属性 450

23.1.5 方法 454

23.1.6 事件处理器 456

23.2 password输入对象 458

23.2.1 语法 458

23.2.2 关于该对象 458

23.3 hidden输入对象 458

23.3.1 语法 458

23.3.2 关于该对象 458

23.4 textarea表单对象 459

23.4.1 语法 459

23.4.2 关于该对象 459

23.4.3 文本域中的回车 460

23.4.4 属性 460

23.4.5 方法 461

第24章 选择、选项和文件上传对象 462

24.1 select元素对象 462

24.1.1 语法 462

24.1.2 关于select对象 463

24.1.3 修改select选项(NN3+、IE4+) 464

24.1.4 修改select选项(IE4+) 466

24.1.5 修改select选项(W3C DOM) 467

24.1.6 属性 468

24.1.7 方法 473

24.1.8 事件处理器 473

24.2 option元素对象 474

24.2.1 语法 475

24.2.2 关于该对象 475

24.2.3 属性 475

24.3 optgroup元素对象 475

24.3.1 语法 476

24.3.2 关于该对象 476

24.3.3 属性 476

24.4 file输入元素对象 477

24.4.1 语法 477

24.4.2 关于该对象 477

第25章 event对象 479

25.1 事件 479

25.1.1 事件的内容和事件何时发生 480

25.1.2 静态event对象 480

25.2 事件传播 480

25.2.1 NN4事件传播 481

25.2.2 IE4+事件传播 482

25.2.3 W3C事件传播 485

25.3 引用事件对象 488

25.4 绑定事件 488

25.4.1 通过标记属性绑定事件 489

25.4.2 通过对象属性绑定事件 489

25.4.3 通过IE附加绑定事件 490

25.4.4 通过W3C监听器绑定事件 490

25.4.5 跨浏览器事件绑定解决方案 491

25.5 事件对象兼容性 491

25.6 深入事件模型 493

25.6.1 检查跨平台的修改键 493

25.6.2 跨平台的按键捕获 494

25.7 事件类型 494

25.8 IE4+事件对象 496

25.8.1 语法 497

25.8.2 关于该对象 497

25.8.3 属性 497

25.9 NN6+/Moz/Safari event对象 510

25.9.1 语法 511

25.9.2 关于该对象 511

25.9.3 属性 511

25.9.4 方法 523

第26章 styleSheet表和style对象 525

26.1 理解对象名称 525

26.2 导入样式表 526

26.3 读取样式属性 527

26.4 style元素对象 527

26.4.1 语法 527

26.4.2 关于该对象 527

26.4.3 属性 528

26.5 styleSheet对象 528

26.5.1 语法 529

26.5.2 关于该对象 529

26.5.3 属性 529

26.5.4 方法 533

26.6 cssRule和rule对象 534

26.6.1 语法 535

26.6.2 关于这些对象 535

26.6.3 属性 535

26.7 currentStyle、runtimeStyle和style对象 536

26.7.1 语法 537

26.7.2 关于这些对象 537

26.7.3 Style属性 537

26.7.4 属性值 538

26.7.5 文本和字体属性 540

26.7.6 内联显示和布局属性 544

26.7.7 定位属性 548

26.7.8 背景属性 549

26.7.9 边框和边界属性 550

26.7.10 列表属性 553

26.7.11 滚动条属性 554

26.7.12 表属性 554

26.7.13 页面和打印属性 555

26.7.14 杂项属性 555

26.7.15 听觉属性 556

26.8 filter对象 557

26.8.1 语法 557

26.8.2 关于该对象 557

26.8.3 WinIE5.5+滤镜语法变化 561

第27章 Ajax和XML 565

27.1 元素和节点 565

27.2 xml元素对象 567

27.2.1 语法 567

27.2.2 关于此对象 567

27.2.3 属性 567

27.3 XMLHttpRequest对象 568

27.3.1 语法 568

27.3.2 关于此对象 568

27.3.3 属性 570

27.3.4 方法 572

第4部分 JavaScript核心语言参考 577

第28章 string对象 577

28.1 字符串和数值数据类型 577

28.1.1 简单字符串 577

28.1.2 建立长字符串变量 578

28.1.3 连接字符串文字和变量 578

28.1.4 特殊内嵌字符 578

28.2 string对象 579

28.2.1 语法 579

28.2.2 关于该对象 579

28.2.3 属性 580

28.2.4 解析方法 581

28.3 字符串使用函数 593

28.4 URL字符串编码和译码 595

第29章 Math、Number和Boolean对象 596

29.1 JavaScript中的数值 596

29.1.1 整型和浮点数值 596

29.1.2 十六进制和八进制整数 598

29.1.3 将字符串转换为数值 598

29.1.4 将数值转换为字符串 599

29.1.5 数值不是数值型时 599

29.2 Math对象 600

29.2.1 语法 600

29.2.2 关于该对象 600

29.2.3 属性 600

29.2.4 方法 600

29.2.5 创建随机数 601

29.2.6 Math对象的快捷引用 601

29.3 Number对象 602

29.3.1 语法 602

29.3.2 关于该对象 602

29.3.3 属性 602

29.3.4 方法 603

29.4 Boolean对象 604

29.4.1 语法 604

29.4.2 关于该对象 604

第30章 date对象 605

30.1 时区和GMT 605

30.2 date对象 606

30.2.1 创建date对象 606

30.2.2 内部对象的属性和方法 607

30.2.3 日期方法 607

30.2.4 处理时区 610

30.2.5 字符串日期 610

30.2.6 适于以前浏览器的日期格式 610

30.2.7 更多的转换 611

30.2.8 日期和时间运算 611

30.2.9 计算天数 612

30.2.10 早期浏览器中日期的bug和漏洞 614

30.3 表单中确认日期输入的方法 614

第31章 Array对象 617

31.1 结构化数据 617

31.2 创建空数组 618

31.3 向数组添加数据 618

31.4 JavaScript数组创建环境 619

31.5 删除数组项 619

31.6 并行数组 619

31.7 多维数组 621

31.8 模拟Hash表 622

31.9 array对象属性 622

31.10 array对象方法 623

第32章 控制结构和异常处理 633

32.1 if和if...else判定 633

32.1.1 简单判定 633

32.1.2 关于(条件)表达式 634

32.1.3 复杂判定 634

32.1.4 嵌套if...else语句 635

32.2 条件表达式 636

32.3 重复(for)循环 636

32.3.1 使用循环计数器 637

32.3.2 跳出循环 638

32.3.3 使用continue继续循环 639

32.4 while循环 639

32.5 do-while循环 640

32.6 循环遍历属性(for-in) 640

32.7 with语句 641

32.8 标签语句 642

32.9 switch语句 643

32.10 异常处理 645

32.10.1 异常和错误 645

32.10.2 异常机制 645

32.11 使用try-catch-finally结构 646

32.12 产生异常 648

32.13 error对象 650

32.13.1 语法 651

32.13.2 关于该对象 651

32.13.3 属性 651

32.13.4 方法 652

第33章 JavaScript操作符 653

33.1 操作符类别 653

33.2 比较操作符 654

33.3 不同数据类型的比较 654

33.4 结合操作符 655

33.5 赋值操作符 657

33.6 布尔操作符 658

33.6.1 布尔运算 658

33.6.2 使用布尔操作符 660

33.7 按位操作符 660

33.8 对象操作符 661

33.9 其他操作符 663

33.10 操作符优先级 665

第34章 函数和自定义对象 667

34.1 Function对象 667

34.1.1 语法 667

34.1.2 关于该对象 667

34.1.3 创建函数 668

34.1.4 嵌套函数 668

34.1.5 函数参数 669

34.1.6 属性 669

34.1.7 方法 671

34.2 函数应用注意事项 672

34.2.1 调用函数 672

34.2.2 变量范围:全局还是局部 673

34.2.3 参数变量 675

34.2.4 递归函数 675

34.2.5 创建函数库 676

34.2.6 封闭区间的意义 676

34.3 使用面向对象的JavaScript创建自定义对象 677

34.3.1 对象的具体细节 678

34.3.2 例子:行星对象 679

34.3.3 进一步封装 682

34.3.4 创建对象数组 682

34.3.5 利用嵌套对象 683

34.3.6 创建对象的现代方法 684

34.3.7 定义对象属性的获得者和设置者 684

34.4 面向对象的概念 685

34.4.1 增加原型 685

34.4.2 原型继承 686

34.4.3 嵌套对象和原型继承 686

34.5 object对象 687

34.5.1 语法 687

34.5.2 关于该对象 687

34.5.3 方法 688

第35章 全局函数和语句 690

35.1 函数 690

35.2 语句 695

第5部分 附录 703

附录A JavaScript和浏览器对象快速参考 703

附录B JavaScript保留字 718

附录C 练习答案 719

C.1 第4章答案 719

C.2 第5章答案 720

C.3 第6章答案 721

C.4 第7章答案 721

C.5 第8章答案 724

C.6 第9章答案 725

C.7 第10章答案 727

C.8 第11章答案 728

C.9 第12章答案 728

附录D JavaScript和DOM Internet资源 729

D.1 本书的技术支持和更新 729

D.2 新闻组 729

D.3 FAQ 730

D.4 在线文档 730

D.5 万维网 730

附录E 本书配套光盘内容 731

E.1 系统需求 731

E.2 光盘内容 731

E.2.1 文本编辑器的JavaScript清单 731

E.2.2 附录A的JavaScript和浏览器对象快速参考的可打印版本 732

E.2.3 本书主题参考的PDF版本 732

E.3 疑难解答 732

第6部分 附赠章节(本部分内容在光盘中)第36章 主体文本对象 735

36.1 blockquote和q元素对象 735

36.1.1 语法 735

36.1.2 关于这些对象 736

36.1.3 属性 736

36.2 br元素对象 736

36.2.1 语法 736

36.2.2 关于该对象 736

36.2.3 属性 736

36.3 font元素对象 736

36.3.1 语法 737

36.3.2 关于本对象 737

36.3.3 属性 737

36.4 h1…h6元素对象 739

36.4.1 语法 739

36.4.2 关于这些对象 739

36.4.3 属性 739

36.5 hr元素对象 740

36.5.1 语法 740

36.5.2 关于该对象 740

36.5.3 属性 740

36.6 label元素对象 742

36.6.1 语法 742

36.6.2 关于该对象 742

36.6.3 属性 742

36.7 marquee元素对象 743

36.7.1 语法 743

36.7.2 关于该对象 744

36.7.3 属性 744

36.8 方法 746

36.9 事件处理器 746

36.10 Range对象 747

36.10.1 语法 747

36.10.2 关于该对象 748

36.10.3 使用range 748

36.10.4 属性 749

36.10.5 方法 751

36.11 selection对象 762

36.11.1 语法 762

36.11.2 关于该对象 762

36.11.3 属性 763

36.11.4 方法 764

36.12 Text和TextNode对象 766

36.12.1 语法 767

36.12.2 关于该对象 767

36.12.3 属性 767

36.12.4 方法 768

36.13 TextRange对象 770

36.13.1 语法 771

36.13.2 关于该对象 771

36.13.3 使用文本范围 772

36.13.4 关于浏览器兼容性 773

36.13.5 属性 773

36.13.6 方法 775

36.14 TextRectangle对象 790

36.14.1 语法 790

36.14.2 关于该对象 790

36.14.3 属性 791

第37章 HTML指示性对象 793

37.1 HTML元素对象 793

37.1.1 语法 793

37.1.2 关于该对象 794

37.1.3 属性 794

37.2 head元素对象 794

37.2.1 语法 794

37.2.2 关于该对象 794

37.2.3 属性 794

37.3 base元素对象 795

37.3.1 语法 795

37.3.2 关于该对象 795

37.3.3 属性 795

37.4 link元素对象 795

37.4.1 语法 796

37.4.2 关于该对象 796

37.4.3 属性 796

37.4.4 事件处理器 798

37.5 meta元素对象 798

37.5.1 语法 798

37.5.2 关于该对象 798

37.5.3 属性 799

37.6 script元素对象 799

37.6.1 语法 799

37.6.2 关于该对象 800

37.6.3 属性 800

37.7 title元素对象 801

37.7.1 语法 801

37.7.2 关于该对象 801

37.7.3 属性 801

第38章 表和列表对象 802

38.1 表对象层次结构 802

38.1.1 填充表单元格 804

38.1.2 修改表单元格内容 804

38.1.3 修改表行 805

38.1.4 修改表列 809

38.1.5 W3C DOM表对象类 811

38.2 table元素对象 811

38.2.1 语法 812

38.2.2 关于该对象 812

38.2.3 属性 812

38.2.4 方法 820

38.3 tbody、tfoot和thead元素对象 822

38.3.1 语法 822

38.3.2 关于这些对象 822

38.3.3 属性 823

38.4 caption元素对象 823

38.4.1 语法 823

38.4.2 关于该对象 823

38.5 col和colgroup元素对象 824

38.5.1 语法 824

38.5.2 关于这些对象 824

38.5.3 属性 825

38.6 tr元素对象 825

38.6.1 语法 825

38.6.2 关于该对象 826

38.6.3 属性 826

38.6.4 方法 827

38.7 td和th元素对象 827

38.7.1 语法 828

38.7.2 关于这些对象 828

38.7.3 属性 828

38.8 ol元素对象 830

38.8.1 语法 830

38.8.2 关于该对象 830

38.8.3 属性 831

38.9 ul元素对象 831

38.9.1 语法 832

38.9.2 关于该对象 832

38.9.3 属性 832

38.10 li元素对象 832

38.10.1 语法 832

38.10.2 关于该对象 832

38.10.3 属性 832

38.11 dl、DT和DD元素对象 833

38.11.1 语法 833

38.11.2 关于这些对象 833

38.12 dir和menu元素对象 834

38.12.1 语法 834

38.12.2 关于这些对象 834

第39章 Navigator和其他环境对象 835

39.1 clientInformation对象(IE4+)和navigator对象(所有浏览器) 835

39.1.1 语法 836

39.1.2 关于该对象 836

39.1.3 属性 836

39.1.4 使用appVersion属性 837

39.1.5 userAgent属性细节 838

39.1.6 方法 846

39.2 mimeType对象 849

39.2.1 语法 849

39.2.2 关于该对象 849

39.2.3 属性 849

39.3 plugin对象 851

39.3.1 语法 851

39.3.2 关于该对象 851

39.3.3 属性 852

39.3.4 方法 852

39.4 查找mime类型和插件程序 852

39.4.1 概述:使用mimeType和plugin对象 853

39.4.2 验证mime类型 853

39.4.3 验证插件程序 853

39.4.4 验证插件程序和mime类型 854

39.4.5 管理手工插件程序安装 855

39.4.6 WinIE中的插件程序检测 855

39.5 screen对象 857

39.5.1 语法 858

39.5.2 关于该对象 858

39.5.3 属性 858

39.6 userProfile对象 860

39.6.1 语法 860

39.6.2 关于该对象 860

39.6.3 方法 862

第40章 定位对象 864

40.1 层的概念 864

40.2 现代DOM中的定位元素 865

40.2.1 改变元素背景 865

40.2.2 剪切层 866

40.2.3 嵌套层的脚本编写 870

40.2.4 将外部HTML装入层 874

40.2.5 定位元素的可见行为 875

40.2.6 堆栈顺序的脚本编程 876

40.2.7 拖动层和调整层的大小 877

第41章 嵌入对象 882

41.1 applet元素对象 883

41.1.1 语法 883

41.1.2 关于该对象 883

41.1.3 属性 884

41.2 object元素 885

41.2.1 语法 886

41.2.2 关于该对象 886

41.2.3 属性 886

41.3 embed元素对象 890

41.3.1 语法 890

41.3.2 关于该对象 890

41.3.3 属性 890

41.4 pararn元素的特例 891

第42章 正则表达式和RegExp对象 892

42.1 正则表达式和模式 892

42.2 语言基础 893

42.2.1 简单模式 893

42.2.2 特殊字符 893

42.2.3 分组和向后引用 895

42.3 对象关系 895

42.4 使用正则表达式 897

42.4.1 是否有匹配 897

42.4.2 获得匹配信息 898

42.4.3 字符串替换 900

42.5 正则表达式对象 901

42.5.1 语法 901

42.5.2 关于该对象 901

42.5.3 属性 901

42.5.4 方法 902

42.6 RegExp对象 903

42.6.1 语法 903

42.6.2 关于该对象 903

42.6.3 属性 904

第43章 数据输入验证 906

43.1 实时验证与批处理验证 906

43.1.1 实时验证触发器 906

43.1.2 批处理(模式)验证 907

43.2 设计筛选器 908

43.3 构建筛选器函数库 908

43.3.1 isEmpty() 908

43.3.2 isPosInteger() 909

43.3.3 isInteger() 909

43.3.4 isNumber() 909

43.3.5 自定义验证函数 909

43.4 复合验证函数 910

43.5 日期和时间验证 911

43.6 工业级强度的验证方案 913

43.6.1 结构 913

43.6.2 调度机制 914

43.6.3 验证示例 915

43.6.4 最后的检查 921

43.6.5 检验 922

43.7 设计数据验证 922

第44章 脚本化Java applet和插件 923

44.1 NPAPI概述 923

44.2 为什么要控制Java applet 924

44.3 关于Java 924

44.3.1 Java基础类 924

44.3.2 Java方法 924

44.3.3 Java applet“属性” 926

44.3.4 访问Java字段 926

44.4 脚本化applet实练 926

44.4.1 了解可脚本化方法 926

44.4.2 applet的局限性 928

44.4.3 匿名applet 929

44.4.4 数据类型转换 931

44.5 applet与脚本间的交互/通信 931

44.5.1 applet需要什么 931

44.5.2 HTML需要什么 932

44.5.3 关于JSObject类 932

44.5.4 数据类型转换 933

44.5.5 applet到脚本的应用程序示例 933

44.6 插件的脚本化 935

44.6.1 HTML端 935

44.6.2 API方法 936

44.6.3 构建点唱机 938

44.6.4 嵌入多个声音 939

44.7 直接脚本化Java类 941

第45章 脚本调试 943

45.1 语法错误与运行时错误 943

45.2 错误消息通知 943

45.2.1 MozillaConsole窗口 944

45.2.2 Safari错误 944

45.2.3 多重错误消息 944

45.3 详细错误消息 945

45.3.1 错误文件名 945

45.3.2 错误定位 945

45.3.3 错误消息文本 946

45.4 Mozilla控制台中的警告 949

45.5 问题嗅探 949

45.5.1 检查HTML标签 949

45.5.2 阅读源代码 949

45.5.3 时序问题 950

45.5.4 重新打开文档 950

45.5.5 找出什么能正常工作 950

45.5.6 注释语句 951

45.5.7 检查运行时表达式赋值 951

45.6 调试工具 951

45.6.1 WinIE脚本调试器 951

45.6.2 Mazilla的Venkman调试器 952

45.6.3 Firefox的FireBug调试器 952

45.6.4 Safari的Drosera调试器 952

45.6.5 使用可嵌入的Evaluator 952

45.6.6 直接赋值 953

45.7 一个简单的跟踪工具 954

45.7.1 trace()函数 954

45.7.2 为trace.is准备文档 954

45.7.3 调用trace() 955

45.8 浏览器缓存 955

45.9 问题预防 956

45.9.1 结构正确 956

45.9.2 逐步构建 956

45.9.3 测试表达式求值 956

45.9.4 创建函数工作台 956

45.10 检测作品 956

第46章 安全和NetScape签名脚本 958

46.1 未雨绸缪 958

46.2 当出现冲突时 959

46.3 Java沙箱 959

46.4 安全策略 959

46.5 同源策略 960

46.5.1 设置document.domain 960

46.5.2 源检查 960

46.6 Netscape签名脚本策略 961

46.6.1 签名对象和脚本 962

46.6.2 从签名脚本能获得什么 962

46.7 数字证书 962

46.7.1 如何获得证书 962

46.7.2 激活codebase原则 963

46.8 脚本签名 963

46.8.1 签名工具 963

46.8.2 准备好为脚本签名 964

46.8.3 访问签名脚本 964

46.8.4 编辑和移动签名脚本 964

46.9 访问受保护的属性和方法 964

46.9.1 获得权限 964

46.9.2 指定目标 965

46.10 在脚本中加入权限 966

46.10.1 保持小窗口 966

46.10.2 考虑用户 966

46.11 示例 966

46.11.1 访问私有浏览器信息 966

46.11.2 访问受保护的窗口属性 967

46.12 处理权限管理器错误 967

46.13 签名脚本其他相关事宜 968

46.13.1 导出和导入签名脚本 968

46.13.2 锁定签名页面 968

46.13.3 国际字符 968

第47章 跨浏览器动态HTML问题 969

47.1 什么是DHTML 969

47.2 力争兼容性 970

47.3 处理不兼容性 971

47.3.1 老式兼容技巧 971

47.3.2 现代方法实现兼容性 973

47.3.3 处理非DHTML浏览器 975

47.4 DHTML API示例 975

第48章 Internet Explorer的行为 977

48.1 脚本样式表 977

48.2 嵌入行为组件 978

48.2.1 链入行为组件 978

48.2.2 启用和禁用行为 978

48.3 组件结构 978

48.3.1 脚本语句 978

48.3.2 变量的作用域 979

48.3.3 指派事件处理器 979

48.3.4 导出属性和方法 979

48.4 行为示例 979

48.4.1 示例1:元素拖动行为 980

48.4.2 示例2:文本的鼠标划过行为 981

48.5 参考资料 983

第49章 应用程序:表格和日历 984

49.1 关于日历 984

49.2 静态表格 985

49.3 动态表格 986

49.4 混用 988

49.5 动态HTML表格 988

49.6 深层思考 991

第50章 应用程序:查找表 992

50.1 无服务器数据库 992

50.2 数据库 992

50.3 实现计划 993

50.4 代码 993

50.5 深层思考 998

第51章 应用程序:较小的订单 999

51.1 确定任务 999

51.2 设计表单 1000

51.3 表单HTML和脚本 1000

51.3.1 全局调整 1000

51.3.2 数学计算 1001

51.3.3 “炮制”HTML 1002

51.3.4 丢掉冗长 1002

51.3.5 取回冗长 1002

51.4 深层思考 1003

第52章 应用程序:分级式目录 1004

52.1 实现计划 1004

52.2 代码 1005

52.2.1 设置框架 1005

52.2.2 分级结构代码 1005

52.2.3 装配分级目录 1007

52.3 Ajax(XML)分级结构 1008

52.3.1 XML规范的生成 1008

52.3.2 OPML分级属性 1009

52.3.3 XML和HTML代码 1009

52.3.4 设置脚本状态 1010

52.3.5 堆积HTML 1011

52.3.6 开关节点展开 1013

52.3.7 结束 1014

52.4 深层思考 1014

第53章 应用程序:计算和绘图 1015

53.1 计算 1015

53.2 用户界面构思 1015

53.3 代码 1016

53.3.1 基本数组 1016

53.3.2 计算和格式化 1017

53.3.3 预加载图片 1017

53.3.4 任意更换图片 1018

53.3.5 创建select对象 1018

53.3.6 绘制初始图片 1019

53.4 深层思考 1020

第54章 应用程序:智能Updated标志位 1021

54.1 Cookie之谜 1021

54.2 时间不在你这一边 1022

54.3 应用程序 1022

54.4 代码 1023

54.4.1 设置状态 1024

54.4.2 日期比较 1025

54.4.3 实时<body> 1025

54.5 深层思考 1026

第55章 应用程序:Decision Helper 1027

55.1 应用程序 1027

55.2 设计 1027

55.3 文件 1028

55.4 代码 1028

55.4.1 index.htm 1029

55.4.2 dhNav.htm 1032

55.4.3 dh1.htm 1033

55.4.4 dh2.htm 1034

55.4.5 dh3.htm 1035

55.4.6 dh4.htm 1037

55.4.7 dh5.htm 1038

55.4.8 dhHelp.htm 1040

55.5 深层思考 1041

第56章 应用程序:跨浏览器DHTML拼图游戏 1042

56.1 拼图设计 1042

56.2 实现细节 1043

56.2.1 自定义API 1043

56.2.2 主程序 1043

56.3 本课要点 1050

第57章 转换XML数据 1051

57.1 应用程序概述 1051

57.2 实施计划 1052

57.3 代码 1053

57.3.1 样式表 1053

57.3.2 初始化序列 1053

57.3.3 转换数据 1054

57.3.4 JavaScript数据库排序 1055

57.3.5 构建表格 1058

57.3.6 选择控件 1059

57.4 构想其他视图 1060

第58章 应用程序:创建自定义google地图 1061

58.1 Google Maps入门 1061

58.2 Google Maps定制基础 1063

58.2.1 获得自己的API密钥 1063

58.2.2 Google Maps API内部 1063

58.2.3 获得地点的地理坐标 1064

58.3 设计Google Maps应用 1065

58.4 开发自定义地图文档 1065

58.5 整合自定义Google Map 1066

58.5.1 显示自定义地图 1066

58.5.2 自定义信息窗口样式设计 1068

58.5.3 测试成品地图 1069

58.6 深层思考 1069