JavaScript & DHTML Cookbook(影印版 第二版)

JavaScript & DHTML Cookbook(影印版 第二版)
作 者: 古德曼
出版社: 东南大学出版社
丛编项: 东南大学出版社O'Reilly系列丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Java 2
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Danny Goodman从20世纪70年代后期就开始为个人计算机和电子消费产品写作。在以后的岁月里,他最受欢迎的书籍标题——关于HyperCard、AppleScript、JavaScript以及动态HTML——已经涵盖了各种编程环境,它们对于业余爱好者而言易于理解,对于专家而言也仍然足够强劲。他的《Dynamic HTML权威参考》目前已更新至第三版,是O’Reilly的最畅销书籍之一。

内容简介

在当今Web 2.0的世界里,JavaScript和动态HTML处于热门新方法的中心,用来设计客户端的高度交互页面。考虑到现实环境的情况,新版《JavaScript & DHTML Cookbook》为网络开发人员经常碰到的各种非常特殊的脚本问题提供了易于理解的解决方案。每个实例包括一段有针对性的代码,你可以立刻将其嵌入到你的应用程序当中。.在经过数年的时间读过几千个论坛的讨论之后,本书作者同时也是脚本编程先锋的Danny Goodman汇集了一个问题清单,这些问题经常让各种经验程度的脚本语言开发人员都觉得烦恼。对于他提到的每个问题,Goodman不仅提供代码,也阐释解决方法如何生效以及为什么可行。书中的实例涵盖各个方面,从简单任务,如使用JavaScript操作字符串和验证日期,到展示复杂任务的全套程序库,如跨浏览器定位HTML元素、排序表以及在客户端实现Ajax功能。本书包括150多个实例,同时针对新手和有经验的脚本开发人员:用交互的表单和样式表工作提供用户友好的页面导航..通过文档对象模型(Document Object Model)脚本制作动态内容为静态内容添加视觉效果在浏览器中使用XML数据工作本书对上一版使用的很多实例都进行了修订,帮助你构建可扩展的Web 2.0用户界面,并添加了一些新的实例以提供客户端Ajax解决方案。本书中的每一个实例都符合最新的W3C标准,兼容各种浏览器,包括Internet Explorer 7、Firefox 2、Safari和Opera 9。如果你想编写自己的脚本并理解它们的内部机制,而不是仅仅依赖于一个商业化的网络开发框架,这本《JavaScript & DHTML Cookbook》就是必备书籍。本书为英文影印版。

图书目录

Preface

1.Strings

 1.1 Concatenating (Joining) Strings

 1.2 Improving String Handling Performance

 1.3 Accessing Substrings

 1.4 Changing String Case

 1.5 Testing Equality of Two Strings

 1.6 Testing String Containment Without Regular Expressions

 1.7 Testing String Containment with Regular Expressions

 1.8 Searching and Replacing Substrings

 1.9 Using Special and Escaped Characters

 1.10 Reading and Writing Strings for Cookies

 1.11 Converting Between Unicode Values and String Characters

 1.12 Encoding and Decoding URL Strings

 1.13 Encoding and Decoding Base64 Strings

2.Numbers and Dates

 2.1 Converting Between Numbers and Strings

 2.2 Testing a Number's Validity

 2.3 Testing Numeric Equality

 2.4 Rounding Floating-Point Numbers

 2.5 Formatting Numbers for Text Display

 2.6 Converting Between Decimal and Hexadecimal Numbers

 2.7 Generating Pseudorandom Numbers

 2.8 Calculating Trigonometric Functions

 2.9 Creating a Date Object

 2.10 Calculating a Previous or Future Date

 2.11 Calculating the Number of Days Between Two Dates

 2.12 Validating a Date

3.Arrays and Objects

 3.1 Creating a Simple Array

 3.2 Creating a Multidimensional Array

 3.3 Converting Between Arrays and Strings

 3.4 Doing Something with the Items in an Array

 3.5 Sorting a Simple Array

 3.6 Combining Arrays

 3.7 Dividing Arrays

 3.8 Creating a Custom Object

 3.9 Simulating a Hash Table for Fast Array Lookup

 3.10 Doing Something with a Property of an Object

 3.11 Sorting an Array of Objects

 3.12 Customizing an Object's Prototype

 3.13 Converting Arrays and Custom Objects to Strings

 3.14 Using Objects to Reduce Naming Conflicts

4.Variables, Functions, and Flow Control

 4.1 Creating a JavaScript Variable

 4.2 Creating a Named Function

 4.3 Nesting Named Functions

 4.4 Creating an Anonymous Function

 4.5 Delaying a Function Call

 4.6 Branching Execution Based on Conditions

 4.7 Handling Script Errors Gracefully

 4.8 Improving Script Performance

5.Browser Feature Detection

 5.1 Detecting the Browser Brand

 5.2 Detecting an Early Browser Version

 5.3 Detecting the Internet Explorer Version

 5.4 Detecting the Mozilla Version

 5.5 Detecting the Safari Version

 5.6 Detecting the Opera Version

 5.7 Detecting the Client Operating System

 5.8 Detecting Object Support

 5.9 Detecting Object Property and Method Support

 5.10 Detecting W3C DOM Standard Support

 5.11 Detecting the Browser Written Language

 5.12 Detecting Cookie Availability

 5.13 Defining Browser- or Feature-Specific Links

 5.14 Testing on Multiple Browser Versions

6.Managing Browser Windows

 6.1 Living with Browser Window Control Limitations

 6.2 Setting the Main Window's Size

 6.3 Positioning the Main Window

 6.4 Maximizing the Main Window

 6.5 Creating a New Window

 6.6 Bringing a Window to the Front

 6.7 Communicating with a New Window

 6.8 Communicating Back to the Main Window

 6.9 Using Internet Explorer Modal/Modeless Windows

 6.10 Simulating a Cross-Browser Modal Dialog Window

 6.11 Simulating a Window with Layers

7.Managing Multiple Frames

 7.1 Creating a Blank Frame in a New Frameset

 7.2 Changing the Content of One Frame from Another

 7.3 Changing the Content of Multiple Frames at Once

 7.4 Replacing a Frameset with a Single Page

 7.5 Avoiding Being "Framed" by Another Site

 7.6 Ensuring a Page Loads in Its Frameset

 7.7 Reading a Frame's Dimensions

 7.8 Resizing Frames

 7.9 Setting Frameset Specifications Dynamically

8.Dynamic Forms

 8.1 Auto-Focusing the First Text Field

 8.2 Performing Common Text Field Validations

 8.3 Preventing Form Submission upon Validation Failure

 8.4 Auto-Focusing an Invalid Text Field Entry

 8.5 Using a Custom Validation Object

 8.6 Changing a Form's Action

 8.7 Blocking Submissions from the Enter Key

 8.8 Advancing Text Field Focus with the Enter Key

 8.9 Submitting a Form by an Enter Key Press in Any Text Box

 8.10 Disabling Form Controls

 8.11 Hiding and Showing Form Controls

 8.12 Allowing Only Numbers (or Letters) in a Text Box

 8.13 Auto-Tabbing for Fixed-Length Text Boxes

 8.14 Changing select Element Content

 8.15 Copying Form Data Between Pages

9.Managing Events

 9.1 Equalizing the IE and W3C Event Models

 9.2 Initiating a Process After the Page Loads

 9.3 Appending Multiple Load Event Handlers

 9.4 Determining the Coordinates of a Click Event

 9.5 Preventing an Event from Performing Its Default Behavior

 9.6 Blocking Duplicate Clicks

 9.7 Determining Which Element Received an Event

 9.8 Determining Which Mouse Button Was Pressed

 9.9 Reading Which Character Key Was Typed

 9.10 Reading Which Noncharacter Key Was Pressed

 9.11 Determining Which Modifier Keys Were Pressed During an Event

 9.12 Determining the Element the Cursor Rolled From/To

 9.13 Synchronizing Sounds to Events

10.Page Navigation Techniques

 10.1 Loading a New Page or Anchor

 10.2 Keeping a Page Out of the Browser History

 10.3 Using a select Element for Navigation

 10.4 Passing Data Between Pages via Cookies

 10.5 Passing Data Between Pages via Frames

 10.6 Passing Data Between Pages via URLs

 10.7 Creating a Contextual (Right-Click) Menu

 10.8 Creating Drop-Down Navigation Menus

 10.9 Providing Navigation Trail Menus

 10.10 Creating Expandable Menus

 10.11 Creating Collapsible XML Menus

11.Managing Style Sheets

 11.1 Assigning Style Sheet Rules to an Element Globally

 11.2 Assigning Style Sheet Rules to a Subgroup of Elements

 11.3 Assigning Style Sheet Rules to an Individual Element

 11.4 Importing External Style Sheets

 11.5 Importing Browser- or Operating System-Specific Style Sheets

 11.6 Changing Imported Style Sheets After Loading

 11.7 Enabling/Disabling Style Sheets

 11.8 Toggling Between Style Sheets for an Element

 11.9 Overriding a Style Sheet Rule

 11.10 Turning Arbitrary Content into a Styled Element

 11.11 Creating Center-Aligned Body Elements

 11.12 Reading Effective Style Sheet Property Values

 11.13 Forcing Recent Browsers into Standards-Compatibility Mode

12.Visual Effects for Stationary Content

 12.1 Precaching Images

 12.2 Swapping Images (Rollovers)

 12.3 Reducing Rollover Image Downloads with JavaScript

 12.4 Reducing Rollover Image Downloads with CSS

 12.5 Dynamically Changing Image Sizes

 12.6 Changing Text Style Properties

 12.7 Offering Body Text Size Choices to Users

 12.8 Creating Custom Link Styles

 12.9 Changing Page Background Colors and Images

 12.10 Hiding and Showing Elements

 12.11 Adjusting Element Transparency

 12.12 Creating Transition Visual Effects

 12.13 Drawing Charts in the Canvas Element

13.Positioning HTML Elements

 13.1 Making an Element Positionable in the Document Space

 13.2 Connecting a Positioned Element to a Body Element

 13.3 Controlling Positioning via a DHTML JavaScript Library

 13.4 Deciding Between div and span Containers

 13.5 Adjusting Positioned Element Stacking Order (Z-order)

 13.6 Centering an Element on Top of Another Element

 13.7 Centering an Element in a Window or Frame

 13.8 Determining the Location of a Nonpositioned Element

 13.9 Animating Straight-Line Element Paths

 13.10 Animating Circular Element Paths

 13.11 Creating a Draggable Element

 13.12 Scrolling div Content

 13.13 Creating a Custom Scrollbar

 13.14 Creating a Slider Control

14.Creating Dynamic Content

 14.1 Writing Dynamic Content During Page Loading

 14.2 Creating New Page Content Dynamically

 14.3 Including External HTML Content

 14.4 Embedding XML Data

 14.5 Embedding Data As JavaScript Objects

 14.6 Transforming XML Data into HTML Tables

 14.7 Transforming JavaScript Objects into HTML Tables

 14.8 Converting an XML Node Tree to JavaScript Objects

 14.9 Creating a New HTML Element

 14.10 Creating Text Content for a New Element

 14.11 Creating Mixed Element and Text Nodes

 14.12 Inserting and Populating an iframe Element

 14.13 Getting a Reference to an HTML Element Object

 14.14 Referencing All Elements of the Same Class

 14.15 Replacing Portions of Body Content

 14.16 Removing Body Content

 14.17 Using XMLHttpRequest for a REST Request

 14.18 Using XMLHttpRequest for a SOAP Call

 14.19 Sorting Dynamic Tables

 14.20 Walking the Document Node Tree

 14.21 Capturing Document Content

15.Dynamic Content Applications

 15.1 Displaying a Random Aphorism

 15.2 Converting a User Selection into an Arbitrary Element

 15.3 Automating the Search-and-Replace of Body Content

 15.4 Designing a User-Editable Content Page

 15.5 Creating a Slide Show

 15.6 Auto-Scrolling the Page

 15.7 Greeting Users with Their Time of Day

 15.8 Displaying the Number of Days Before Christmas

 15.9 Displaying a Countdown Timer

 15.10 Creating a Calendar Date Picker

 15.11 Displaying an Animated Progress Bar

 A.Keyboard Event Character Values

 B.Keyboard Key Code Values

 C.ECMAScript Reserved Keywords

Index