The table of contents of “Beginning JavaScript with DOM scripting and Ajax”
Tuesday, June 20th, 2006 at 11:56 amSome people asked me at @media about detailed content of my upcoming book. So without further ado, here is the table of contents with page numbers:
- Foreword xiii
- About the Author xv
- About the Technical Reviewer xvii
- Introduction xix
- CHAPTER 1 Getting Started with JavaScript 1
- The Why of JavaScript 3
- What Is JavaScript? 4
- Problems and Merits of JavaScript 5
- Why Use JavaScript If It Cannot Be Relied On? 6
- JavaScript in a Web Page and Essential Syntax 7
- JavaScript Syntax 8
- Code Execution 9
- An Aside About Functions 11
- Objects 12
- A Simple JavaScript Example 13
- Summary 16
- CHAPTER 2 Data and Decisions 17
- Data, Data Types, and Data Operators 18
- The String Data Type 18
- Operators 21
- JavaScript Variables 23
- Converting Different Types of Data 26
- The Composite Data Types: Array and Object 30
- Objects JavaScript Supplies You with: String, Date and Math 30
- Arrays 39
- The Array Object’s Methods and Properties 42
- Making Decisions in JavaScript 45
- The Logical and Comparison Operators 45
- Conditional Statements 49
- Testing Multiple Values: the switch Statement 52
- Repeating Things: Loops 54
- Summary 59
- Data, Data Types, and Data Operators 18
- CHAPTER 3 From DHTML to DOM Scripting 61
- JavaScript As the Behavior Layer 63
- Object Detection vs. Browser Dependence 65
- Progressive Enhancement 68
- JavaScript and Accessibility 69
- Good Coding Practices 71
- Naming Conventions 71
- Code Layout 72
- Commenting 74
- Functions 76
- Short Code via the Ternary Operator 79
- Sorting and Reuse of Functions 80
- Variable and Function Scope 80
- Keeping Scripts Safe with the Object Literal 81
- Summary 83
- JavaScript As the Behavior Layer 63
- CHAPTER 4 HTML and JavaScript 85
- The Anatomy of an HTML Document 85
- Providing Feedback in Web Pages via JavaScript: The Old School Ways 89
- Using window Methods: prompt(), alert(),and confirm() 90
- Accessing the Document via the DOM 96
- Of Children, Parents, Siblings, and Values 99
- From the Parents to the Children 100
- From the Children to the Parents 102
- Among Siblings 103
- Changing Attributes of Elements 107
- Creating, Removing, and Replacing Elements 109
- Avoiding NOSCRIPT 113
- Shortening Your Scripts via InnerHTML 115
- DOM Summary: Your Cheat Sheet 116
- DOMhelp: Our Own Helper Library 118
- Summary 122
- CHAPTER 5 Presentation and Behavior (CSS and Event Handling) 123
- Changing the Presentation Layer via JavaScript 123
- Helping the CSS Designer 131
- Changing the Document’s Behavior via Event Handling 153
- Events in the W3C-Compliant World 156
- Fixing Events for the Non-W3C-Compliant World 165
- Never Stop Optimizing 172
- The Ugly Page Load Problem and Its Ugly Solutions 173
- Reading and Filtering Keyboard Entries 174
- The Dangers of Event Handling 179
- Summary 180
- Changing the Presentation Layer via JavaScript 123
- CHAPTER 6 Common Uses of JavaScript: Images and Windows 183
- Images and JavaScript 183
- Basics of Image Scripting 184
- Preloading Images 186
- Rollover Effects 187
- Slide Shows 196
- Summary of Images and JavaScript 211
- Windows and JavaScript 212
- Window Properties 213
- Window Methods 215
- Summary: Windows and JavaScript 238
- Summary 239
- Images and JavaScript 183
- CHAPTER 7 JavaScript and User Interaction: Navigation and Forms 241
- Navigation and JavaScript 241
- The Fear of the Page Reload 242
- Basics of Navigation and JavaScript 242
- Browser Navigation 245
- In-Page Navigation 246
- Site Navigation 255
- Pagination 263
- Summary of Navigation with JavaScript 272
- Forms and JavaScript 272
- Basics of Forms with JavaScript 274
- Form Elements 275
- Interactive Forms: Hiding and Showing Dependent Elements 291
- Custom Form Elements 297
- Summary of Forms and JavaScript 297
- Summary 297
- Navigation and JavaScript 241
- CHAPTER 8 Back-End Interaction with Ajax 299
- Household Cleaning Liquid, Football Club, or Flash Gordon’s Spacecraft: What Is Ajax? 300
- Et Tu, Cache? 309
- Putting the X Back into Ajax 309
- Replacing XML with JSON 314
- Using Server-Side Scripts to Reach Third-Party Content 316
- XHR on Slow Connections 320
- A Larger Ajax Example: Connected Select Boxes 323
- Optional Dynamic Ajax Menus 331
- Summary 340
- CHAPTER 9 Data Validation Techniques 343
- Pros and Cons of Client-Side JavaScript Validation 343
- A Quick Reminder About Protecting Content with JavaScript 344
- The One-Size-Fits-All Validation Myth 345
- Basic JavaScript Validation with String and Numeric Methods 346
- String Validation Methods 346
- Numeric Validation Methods 352
- Regular Expressions 357
- Syntax and Attributes 357
- Wildcard Searches, Constraining Scope, and Alternatives 358
- Restricting the Number of Characters with Quantifiers 359
- Word Boundaries, Whitespace, and Other Shortcuts 360
- Methods Using Regular Expressions 361
- The Power of Parenthesis Grouping 361
- Regular Expression Resources 363
- Summary of Validation Methods 363
- Form Validation Techniques 364
- Designating Mandatory Fields 364
- The Hidden Field Method 364
- The Indicator Element Method 365
- The CSS Classes Method 366
- The Custom Attribute Method 366
- Failures of These Methods 367
- Sharing Validation Rules 367
- Giving Users Validation Feedback 369
- Showing a List of Erroneous Fields 369
- Replacing the Main Form with a Clickable Error Message 374
- Highlighting Erroneous Fields Individually 376
- Instant Validation Feedback 379
- Other Dynamic Validation Methods 381
- Summary 385
- CHAPTER 10 Modern JavaScript Case Study: A Dynamic Gallery 387
- Basics of Thumbnail Galleries 387
- What Is a Thumbnail Gallery and What Should It Do? 388
- Static Thumbnail Galleries 388
- Faking Dynamic Galleries with JavaScript 389
- Displaying Captions 396
- Dynamic Thumbnail Galleries 401
- Creating an Image Badge From a Folder 406
- Summary 414
- CHAPTER 11 Using Third-Party JavaScript 415
- What the Web Offers You 415
- Code Snippets, RSS Feeds, APIs, and Libraries 416
- RSS Feeds and REST APIs 417
- Examples of REST APIs 418
- Using a Library: Short, Shorter, jQuery 419
- Dangers of jQuery and Other Libraries Using Their Own Syntax 426
- Using an API: Adding a Map to Your Site with Google Maps 427
- Full Service: The Yahoo Developer Network and User Interface Library 438
- Bouncy Headlines Using YUI 439
- Replacing Pop-Up Windows Using the YUI Connection Manager and Container Components 444
- Yahoo User Interface Library Summary 449
- Summary 450
- APPENDIX Debugging JavaScript 451
- Common JavaScript Mistakes 451
- Misspellings and Case-Sensitivity Issues 451
- Trying to Access Undefined Variables 452
- Incorrect Number of Closing Braces and Parentheses 454
- Concatenation Gone Wrong 456
- Assigning Instead of Testing the Value of a Variable 458
- Tracing Errors with alert() and Console Elements 458
- Error Handling with try and catch() 459
- Sequential Uncommenting 462
- Error Reporting in Browsers 463
- Microsoft Internet Explorer 6 463
- Safari 464
- Opera 8.5 466
- Firefox 1.5.0.3 466
- JSLint and JSUNIT 470
- Summary 470
- INDEX 471
- Common JavaScript Mistakes 451
You can get the book either in a local bookstore (from 17th of July onwards) – which is the preferable option as bookstores are great places to test before you buy, drink coffee, socialize with real human beings and meet your future partners (optional) – or on the web for example on Amazon (US, UK, DE).