The Story So Far—The History of HTML5
The Myth of 2022 and Why It Doesn’t Matter
Compatibility and Paving the Cow Paths
Utility and the Priority of Constituencies
Interoperability Simplification
Simplifying Selection Using the Selectors API
JavaScript Logging and Debugging
Monkeys, Squirrelfish, and Other Speedy Oddities
Chapter 2: Using the Canvas API
Browser Support for HTML5 Canvas
Applying Transformations to Drawings
Inserting Images into a Canvas
Building an Application with HTML5 Canvas
Practical Extra: Full Page Glass Pane
Practical Extra: Timing Your Canvas Animation
Chapter 3: Scalable Vector Graphics
Building an Interactive Application with SVG
Adding the updateTrees Function
Adding the removeTree Function
Chapter 4: Working with Audio and Video
Browser Support for Audio and Video
Chapter 5: Using the Geolocation API
Latitude and Longitude Coordinates
Where Does Location Information Come From?
Browser Support for Geolocation
Triggering the Privacy Protection Mechanism
Dealing with Location Information
Building an Application with Geolocation
Processing the Geolocation Data
Chapter 6: Using the Communication APIs
Browser Support for Cross Document Messaging
Building an Application Using the postMessage API
Browser Support for HTML5 XMLHttpRequest Level 2
Building an Application Using XMLHttpRequest
Chapter 7: Using the WebSocket API
Writing a Simple Echo WebSocket Server
Building a WebSocket Application
Chapter 8: Using the Forms API
Browser Support for HTML5 Forms
New Form Attributes and Functions
Checking Forms with Validation
Building an Application with HTML5 Forms
Chapter 9: Working with Drag-and-Drop
Web Drag-and-Drop: The Story So Far
Overview of HTML5 Drag-and-Drop
Building an Application with Drag-and-Drop
Handling Drag-and-Drop for Files
Chapter 10: Using the Web Workers API
Browser Support for Web Workers
Loading and Executing Additional JavaScript
Communicating with Web Workers
Using Web Workers within Web Workers
Building an Application with Web Workers
Coding the blur.js Helper Script
Coding the blur.html Application Page
Coding the blurWorker.js Web Worker Script
Communicating with the Web Workers
Chapter 11: Using the Storage APIs
Browser Support for Web Storage
Other Web Storage API Attributes and Functions
Communicating Web Storage Updates
Building an Application with Web Storage
The Future of Browser Database Storage
Chapter 12: Creating Offline Web Applications
Overview of HTML5 Offline Web Applications
Browser Support for HTML5 Offline Web Applications
Using the HTML5 Application Cache API
Creating a Simple Offline Application
Building an Application with HTML5 Offline Web Applications
Creating a Manifest File for the Application Resources
Creating the HTML Structure and CSS for the UI
Creating the Offline JavaScript
Check for ApplicationCache Support
Adding the Update Button Handler