0% found this document useful (0 votes)
382 views

Black Book Index

This document contains a table of contents for two chapters on HTML5 and fundamentals of HTML. Chapter 1 provides an overview of HTML5 and related web technologies like JavaScript, CSS, XML and introduces new features in HTML5 such as new elements, attributes, multimedia support, offline web apps, and more. Chapter 2 dives deeper into HTML elements and their uses, describing different element types, character entities, paragraphs and other text semantics. It also provides information on using root, metadata and other basic elements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
382 views

Black Book Index

This document contains a table of contents for two chapters on HTML5 and fundamentals of HTML. Chapter 1 provides an overview of HTML5 and related web technologies like JavaScript, CSS, XML and introduces new features in HTML5 such as new elements, attributes, multimedia support, offline web apps, and more. Chapter 2 dives deeper into HTML elements and their uses, describing different element types, character entities, paragraphs and other text semantics. It also provides information on using root, metadata and other basic elements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Table of Contents

Introduction ............................................................................................................... xxxv


PART I: HTML5
Chapter 1: Overview of HTML5 and Other Web Technologies ................................... 1
Section I Internet and Web Technologies ........................................................................................... 2
Internet and Web ...................................................................................................................................... 2
Introduction to Web Technologies ......................................................................................................... 3
HTML ................................................................................................................................................... 3
JavaScript ............................................................................................................................................. 4
CSS ........................................................................................................................................................ 5
XML ...................................................................................................................................................... 5
XHTML ................................................................................................................................................ 5
AJAX ..................................................................................................................................................... 6
ASP.NET .............................................................................................................................................. 6
PHP ....................................................................................................................................................... 7
Web Services ........................................................................................................................................ 7
Section II HTML5 and its Essentials .................................................................................................... 7
Exploring New Features of HTML5 ....................................................................................................... 8
New Elements ..................................................................................................................................... 8
New Attributes .................................................................................................................................. 10
Link Relations .................................................................................................................................... 10
Microdata ........................................................................................................................................... 10
ARIA Accessibility ............................................................................................................................ 11
Web Forms 2.0 ................................................................................................................................... 11
Multimedia ........................................................................................................................................ 13
2D and 3D Drawings Support ......................................................................................................... 14
Offline Web Applications and Caching ......................................................................................... 15

Table of Contents

CSS Enhancements ........................................................................................................................... 15


New Selectors .................................................................................................................................... 18
Client Side Storage ............................................................................................................................ 18
Web Sockets ....................................................................................................................................... 18
Web Workers ..................................................................................................................................... 19
Notifications ...................................................................................................................................... 19
Drag and Drop API........................................................................................................................... 19
Geolocation ........................................................................................................................................ 20
Modernizr .......................................................................................................................................... 20
HTML5- Next Generation of Web Development................................................................................ 20
Structuring an HTML Document.......................................................................................................... 20
Elements and Attributes .................................................................................................................. 21
Tags ..................................................................................................................................................... 22
The DOCTYPE Element ................................................................................................................... 23
Exploring Editors and Browsers Supported by HTML5 ................................................................... 23
Creating and Saving an HTML Document .......................................................................................... 24
Validating an HTML Document ........................................................................................................... 26
Viewing an HTML Document ............................................................................................................... 29
Hosting Web Pages ................................................................................................................................. 29
Summary .................................................................................................................................................. 30

Chapter 2: Fundamentals of HTML.............................................................................. 31


In Depth ................................................................................................................................... 32
Understanding Elements ....................................................................................................................... 32
Root Elements .................................................................................................................................... 33
Metadata Elements ........................................................................................................................... 34
Section Elements ............................................................................................................................... 40
Heading Elements ............................................................................................................................. 43
Flow Elements ................................................................................................................................... 43
Phrasing Elements ............................................................................................................................ 46
Embedded Elements ......................................................................................................................... 48
Interactive Elements ......................................................................................................................... 49
Describing Data Types ........................................................................................................................... 50
Basic HTML Data Types .................................................................................................................. 50
Data Types Defined by the RFC and IANA Documentation ...................................................... 51
Data Types Defined by W3C Specifications .................................................................................. 53

vi

Table of Contents

Describing Character Entities ................................................................................................................ 56


Understanding Horizontal Rules .......................................................................................................... 56
Understanding Line Breaks ................................................................................................................... 57
Understanding a Paragraph .................................................................................................................. 57
Understanding Citations, Quotations, and Definitions ..................................................................... 58
Understanding Comments .................................................................................................................... 59

Immediate Solutions .............................................................................................................. 60


Working with Root and Metadata Elements ....................................................................................... 60
Working with SCRIPT and NOSCRIPT Elements .............................................................................. 61
Working with Section Elements ............................................................................................................ 64
Working with HEADER and FOOTER Elements ............................................................................... 67
Working with Headings......................................................................................................................... 68
Working with Character Entities .......................................................................................................... 70
Working with Horizontal Rules ............................................................................................................ 71
Working with Line Breaks ..................................................................................................................... 72
Working with a Paragraph .................................................................................................................... 73
Working with Citations, Quotations, and Definitions ....................................................................... 74
Working with Comments ...................................................................................................................... 76
Summary .................................................................................................................................................. 76

Chapter 3: Working with Text ...................................................................................... 77


In-Depth ................................................................................................................................... 78
Formatting Text with HTML Elements ................................................................................................ 78
Formatting with HTML Physical Style Elements ......................................................................... 78
Formatting with HTML Logical Style Elements ........................................................................... 79
Defining the MARK Element ................................................................................................................ 92
Defining the STRONG Element ............................................................................................................ 93
Defining the CODE Element ................................................................................................................. 93
Defining the SMALL Element ............................................................................................................... 94
Immediate Solutions .............................................................................................................. 95
Displaying Plain Text ............................................................................................................................. 95
Displaying Bold Text .............................................................................................................................. 95
Displaying Italic Text ............................................................................................................................. 96
Displaying Small Text ............................................................................................................................ 97
Displaying Subscripted Text ................................................................................................................. 98

vii

Table of Contents

Displaying Superscripted Text .............................................................................................................. 99


Displaying Abbreviations ...................................................................................................................... 99
Displaying Program Code ................................................................................................................... 100
Displaying Sample Program Output.................................................................................................. 101
Displaying Keyboard Text ................................................................................................................... 102
Emphasizing Text with the EM Element ........................................................................................... 103
Emphasizing Text with the STRONG Element ................................................................................. 103
Defining New Terms ............................................................................................................................ 104
Displaying the Short Quotations .................................................................................................. 105
Displaying the Long Quotations ................................................................................................... 106
Displaying Inserted Text ...................................................................................................................... 107
Displaying Deleted Text....................................................................................................................... 107
Displaying Variables and Arguments using the VAR Element...................................................... 108
Overriding Text Direction using the BDO Element ......................................................................... 109
Using the MARK Element ................................................................................................................... 110
Creating Keyboard Shortcut ................................................................................................................ 111
Summary ................................................................................................................................................ 112

Chapter 4: Organizing Text in HTML ......................................................................... 113


In Depth ................................................................................................................................. 114
Arranging Text ...................................................................................................................................... 114
Allowing Word Breaks ................................................................................................................... 115
Defining the Preformatted Text .................................................................................................... 115
Defining the DIV Element ............................................................................................................. 115
Defining the SPAN Element .......................................................................................................... 116
Formatting Text in Tables .............................................................................................................. 116
Defining the Ruby (Captioned) Text ............................................................................................ 117
Displaying Lists..................................................................................................................................... 117
Immediate Solutions ............................................................................................................ 118
Allowing Word Breaks Using the WBR Element ............................................................................. 118
Displaying the Preformatted Text ...................................................................................................... 118
Using the DIV Element ........................................................................................................................ 120
Positioning Text Using the DIV Element ........................................................................................... 120
Using the SPAN Element ..................................................................................................................... 121
Formatting Text Using Tables ............................................................................................................. 122

viii

Table of Contents

Creating the Ruby (Captioned) Text .................................................................................................. 123


Creating Lists......................................................................................................................................... 124
Summary ................................................................................................................................................ 128

Chapter 5: Working with Links and URLs................................................................. 129


In Depth ................................................................................................................................. 130
Exploring the Hyperlinks .................................................................................................................... 130
The target Attribute ........................................................................................................................ 130
The id Attribute ............................................................................................................................... 131
Exploring the URL ................................................................................................................................ 131
Structuring the URL ....................................................................................................................... 131
Encoding the URL ........................................................................................................................... 133
Exploring the Newsgroup and Mail System ..................................................................................... 134
Exploring Link Relations ..................................................................................................................... 134
Immediate Solutions ............................................................................................................ 136
Creating a Hyperlink ............................................................................................................................ 136
Using the target Attribute .............................................................................................................. 137
Using the id Attribute .................................................................................................................... 138
Linking to a Mail System ..................................................................................................................... 140
Implementing Link Relations .............................................................................................................. 142
Summary ................................................................................................................................................ 144

Chapter 6: Creating Tables ........................................................................................ 145


In Depth ................................................................................................................................. 146
Understanding Tables .......................................................................................................................... 146
Describing the TABLE Element .......................................................................................................... 147
The CAPTION Element.................................................................................................................. 147
The COLGROUP Element ............................................................................................................. 147
The COL Element ............................................................................................................................ 148
The TBODY Element ...................................................................................................................... 148
The THEAD Element ...................................................................................................................... 149
The TFOOT Element ....................................................................................................................... 149
The TR Element ............................................................................................................................... 150
The TD and TH Elements .............................................................................................................. 150

ix

Table of Contents

Immediate Solutions ............................................................................................................ 152


Creating a Simple Table ....................................................................................................................... 152
Adding a Title to a Column ................................................................................................................. 153
Adding a Caption to a Table ............................................................................................................... 154
Specifying the Properties of the Columns ......................................................................................... 156
Changing the Properties of Multiple Columns ........................................................................... 156
Changing the Properties of a Single Column .............................................................................. 158
Spanning Rows and Columns ............................................................................................................. 159
Spanning Rows................................................................................................................................ 159
Spanning Columns ......................................................................................................................... 161
Using Images in a Table ....................................................................................................................... 163
Creating Advanced Tables .................................................................................................................. 164
Nesting Tables ....................................................................................................................................... 166
Summary ................................................................................................................................................ 168

Chapter 7: Working with Images, Colors, and Canvas ............................................ 169


In Depth ................................................................................................................................. 170
Inserting Images in a Web Page .......................................................................................................... 170
Describing Different Image Formats ............................................................................................ 171
Describing Image Maps ................................................................................................................. 172
Exploring Colors ................................................................................................................................... 173
Describing Color Names ................................................................................................................ 173
Describing Hex Values ................................................................................................................... 173
Describing the RGB Configuration ............................................................................................... 173
Describing Web-safe Colors .......................................................................................................... 174
Introducing Canvas .............................................................................................................................. 175
Immediate Solutions ............................................................................................................ 176
Displaying a GIF Image ....................................................................................................................... 176
Displaying a PNG Image ..................................................................................................................... 176
Displaying Alternate Text for an Image ............................................................................................ 178
Modifying the Size of an Image .......................................................................................................... 179
Using an Image as a Hyperlink ........................................................................................................... 180
Creating Image Maps ........................................................................................................................... 182
Using Color Names .............................................................................................................................. 184
Using Hex Values ................................................................................................................................. 185

Table of Contents

Using the RGB Configuration ............................................................................................................. 186


Implementing the CANVAS Element ................................................................................................ 187
Summary ................................................................................................................................................ 188

Chapter 8: Working with Forms ................................................................................. 189


In Depth ................................................................................................................................. 190
Exploring the FORM Element ............................................................................................................. 190
Exploring Types of the INPUT Element ............................................................................................ 191
Describing the text and search Type ............................................................................................ 192
Describing the tel Type .................................................................................................................. 192
Describing the url Type.................................................................................................................. 192
Describing the email Type ............................................................................................................. 192
Describing the password Type...................................................................................................... 192
Describing the datetime-local Type .............................................................................................. 193
Describing the datetime, date, month, week, and time Types .................................................. 193
Describing the number and range Types..................................................................................... 193
Describing the file Type ................................................................................................................. 194
Describing the hidden Type .......................................................................................................... 194
Describing the checkbox Type ...................................................................................................... 194
Describing the radio Type ............................................................................................................. 195
Describing the submit Type........................................................................................................... 195
Describing the reset Type .............................................................................................................. 195
Exploring the BUTTON Element ........................................................................................................ 196
Exploring the Multiple-Choice Elements .......................................................................................... 197
The SELECT Element ..................................................................................................................... 197
The OPTION Element .................................................................................................................... 197
The OPTGROUP Element .............................................................................................................. 198
Exploring the TEXTAREA and LABEL Elements ............................................................................ 198
Exploring the FIELDSET and LEGEND Elements ........................................................................... 199
Describing the DATALIST Element ................................................................................................... 200
Describing the KEYGEN Element....................................................................................................... 200
Describing the OUTPUT Element ....................................................................................................... 201
Describing the PROGRESS Element ................................................................................................... 202
Describing the METER Element ......................................................................................................... 202
Submitting a Form ................................................................................................................................ 203
The enctype Attribute..................................................................................................................... 203
xi

Table of Contents

The action Attribute ........................................................................................................................ 204


The method Attribute ..................................................................................................................... 205

Immediate Solutions ............................................................................................................ 206


Creating a Form .................................................................................................................................... 206
Working with the INPUT Element ..................................................................................................... 207
Working with a Text Field ............................................................................................................. 208
Working with a Password Field ................................................................................................... 210
Creating a Hidden Field................................................................................................................. 214
Creating a Checkbox Field ............................................................................................................. 215
Creating a Radio Button Field ....................................................................................................... 216
Creating a Submit Button Field..................................................................................................... 217
Creating a Reset Button Field ........................................................................................................ 217
Using the SELECT and OPTION Elements ....................................................................................... 218
Using the OPTGROUP Element.......................................................................................................... 219
Working with the TEXTAREA Element ............................................................................................ 220
Using the FIELDSET and LEGEND Elements .................................................................................. 221
Using the BUTTON Element ............................................................................................................... 222
Using the DATALIST Element ............................................................................................................ 224
Using the KEYGEN element................................................................................................................ 225
Using the OUTPUT Element ............................................................................................................... 227
Using the PROGRESS Element ........................................................................................................... 229
Using the METER Element .................................................................................................................. 230
Using the enctype, action, and method Attributes ........................................................................... 231
Summary ................................................................................................................................................ 232

Chapter 9: Interactive Elements ................................................................................ 233


In Depth ................................................................................................................................. 234
The DETAILS and SUMMARY Elements .......................................................................................... 234
The MENU Element ............................................................................................................................. 234
The COMMAND Element ................................................................................................................... 235
The KBD Element.................................................................................................................................. 235
The TIME Element ................................................................................................................................ 236
Immediate Solutions ............................................................................................................ 237
Using the DETAILS and SUMMARY Elements ............................................................................... 237
Using the COMMAND Element ......................................................................................................... 238
Using the MENU Element ................................................................................................................... 240
xii

Table of Contents

Using the KBD Element ....................................................................................................................... 241


Using the TIME Element ...................................................................................................................... 242
Summary ................................................................................................................................................ 244

Chapter 10: Working with Multimedia ....................................................................... 245


In Depth ................................................................................................................................. 246
Exploring Audio and Video File Formats.......................................................................................... 246
Describing the Multimedia Elements ................................................................................................. 249
Defining a Multimedia File Using the EMBED Element ................................................................. 250
Defining a Multimedia File Using the OBJECT Element ................................................................. 251
Exploring the FIGURE and FIGCAPTION Elements ....................................................................... 252
Immediate Solutions ............................................................................................................ 253
Setting the Background Sound Using the AUDIO Element ............................................................ 253
Using the VIDEO Element ................................................................................................................... 254
Embedding an Audio File Using the EMBED Element ................................................................... 256
Embedding a Video File Using the EMBED Element ...................................................................... 257
Embedding a Video File from Other Websites ................................................................................. 258
Adding Multimedia Files Using the OBJECT Element .................................................................... 259
Initializing an Object Using the PARAM Element ........................................................................... 261
Using the FIGURE and FIGCAPTION Elements.............................................................................. 263
Summary ................................................................................................................................................ 264

PART II: DYNAMIC HTML


Chapter 11: Overview of JavaScript .......................................................................... 265
In Depth ................................................................................................................................. 266
Exploring the Features of JavaScript .................................................................................................. 266
Using JavaScript in an HTML Document .......................................................................................... 267
JavaScript in the HEAD Element .................................................................................................. 268
JavaScript in the BODY Element ................................................................................................... 268
JavaScript in an External File......................................................................................................... 268
Exploring Programming Fundamentals of JavaScript ..................................................................... 269
Exploring the Lexical Structure of JavaScript ............................................................................. 269
Exploring Variables ........................................................................................................................ 275
Exploring Operators ....................................................................................................................... 275
Exploring Control Flow Statements ............................................................................................. 280
Exploring Popup Boxes .................................................................................................................. 284

xiii

Table of Contents

Immediate Solutions ............................................................................................................ 285


Incorporating JavaScript in the Head Element ................................................................................. 285
Incorporating JavaScript in the Body Element.................................................................................. 285
Using an External JavaScript File........................................................................................................ 286
Using Variables ..................................................................................................................................... 288
Using Operators .................................................................................................................................... 290
Using the if Statement .......................................................................................................................... 291
Using the ifelse Statement................................................................................................................ 292
Using the switch Statement ................................................................................................................. 294
Using the while Loop ........................................................................................................................... 295
Using the dowhile Loop ................................................................................................................... 296
Using the for Loop ................................................................................................................................ 298
Using the break Statement ................................................................................................................... 299
Using the continue Statement ............................................................................................................. 300
Using the alert Box................................................................................................................................ 301
Using the confirm Box .......................................................................................................................... 302
Using the prompt Box .......................................................................................................................... 303
Summary ................................................................................................................................................ 304

Chapter 12: JavaScript Functions, Events, Image Maps, and Animations ............ 305
In Depth ................................................................................................................................. 306
Exploring Functions ............................................................................................................................. 306
Defining and Invoking a Function................................................................................................ 307
Defining Function arguments ....................................................................................................... 308
Defining a Return Statement ......................................................................................................... 308
Defining Function Scope and Closures ........................................................................................ 309
Calling Functions with Timer ....................................................................................................... 309
Exploring Events ................................................................................................................................... 310
Exploring Image Maps ......................................................................................................................... 313
Exploring Animations .......................................................................................................................... 313
Immediate Solutions ............................................................................................................ 315
Working with Functions ...................................................................................................................... 315
Creating a Function with Parameters........................................................................................... 316
Using Function Arguments ........................................................................................................... 317
Using a Return Statement .............................................................................................................. 318
Using Function Scope and Closures ............................................................................................. 319
xiv

Table of Contents

Working with the setTimeout() Method ............................................................................................ 320


Working with the setInterval() Method ............................................................................................. 321
Working with the onclick Event ......................................................................................................... 322
Working with the onload Event .......................................................................................................... 324
Working with the Mouse Events ........................................................................................................ 325
Working with the onreset Event ......................................................................................................... 327
Working with the onsubmit Event ..................................................................................................... 328
Working with Image Maps .................................................................................................................. 330
Working with Animations ................................................................................................................... 332
Summary ................................................................................................................................................ 334

Chapter 13: JavaScript Objects ................................................................................. 335


In Depth ................................................................................................................................. 336
Exploring Objects in JavaScript........................................................................................................... 336
Properties of an Object ................................................................................................................... 337
Methods of an Object ...................................................................................................................... 338
Exploring the Standard/Built-in JavaScript Objects ........................................................................ 338
The String Object ............................................................................................................................. 339
The RegExp Object .......................................................................................................................... 341
The Boolean Object ......................................................................................................................... 344
The Number Object ........................................................................................................................ 345
The Array Object ............................................................................................................................. 346
The Math Object .............................................................................................................................. 348
The Date Object ............................................................................................................................... 349
Immediate Solutions ............................................................................................................ 352
Working with Templates of an Object ............................................................................................... 352
Working with the String Object .......................................................................................................... 354
Working with the Boolean Object ....................................................................................................... 358
Working with the Number Object ...................................................................................................... 358
Working with the Array Object .......................................................................................................... 359
Working with the Date Object............................................................................................................. 360
Working with the Math Object ........................................................................................................... 361
Summary ................................................................................................................................................ 362

xv

Table of Contents

Chapter 14: Working with Browser Objects ............................................................. 363


In Depth ................................................................................................................................. 364
Understanding the Window Object.................................................................................................... 364
Window Object Collection ............................................................................................................. 365
Window Object Properties............................................................................................................. 365
Window Object Methods ............................................................................................................... 366
Understanding the Navigator Object ................................................................................................. 367
Navigator Object Collections ........................................................................................................ 368
Navigator Object Properties .......................................................................................................... 368
Navigator Object Methods............................................................................................................. 368
Understanding the History Object ..................................................................................................... 369
History Object Properties............................................................................................................... 369
History Object Methods ................................................................................................................. 369
Understanding the Screen Object ....................................................................................................... 370
Understanding the Location Object.................................................................................................... 370
Location Object Properties ............................................................................................................. 371
Location Object Methods ............................................................................................................... 372
Immediate Solutions ............................................................................................................ 373
Working with the Window Object Properties................................................................................... 373
Working with the Window Object Methods ..................................................................................... 374
Working with the Navigator Object Properties ................................................................................ 376
Working with the Navigator Object Methods .................................................................................. 378
Working with the History Object ....................................................................................................... 379
Working with the Screen Object ......................................................................................................... 381
Working with the Location Object...................................................................................................... 382
Summary ................................................................................................................................................ 386

Chapter 15: Working with Document Object ............................................................ 387


In Depth ................................................................................................................................. 388
Describing the Document Object ........................................................................................................ 388
Exploring Document Object Collections ...................................................................................... 389
Exploring Document Object Properties ....................................................................................... 389
Exploring Document Object Methods .......................................................................................... 390
Exploring Cookies................................................................................................................................. 391
Creating and Storing Cookies ....................................................................................................... 391
Reading Cookies ............................................................................................................................. 392
xvi

Table of Contents

Immediate Solutions ............................................................................................................ 393


Working with Document Object Collection ...................................................................................... 393
Working with Document Object Properties ...................................................................................... 394
Working with Document Object Methods ........................................................................................ 395
Using the Document Object with Forms ........................................................................................... 396
Creating Cookies ................................................................................................................................... 398
Deleting Cookies ................................................................................................................................... 401
Summary ................................................................................................................................................ 404

Chapter 16: Document Object Model ........................................................................ 405


In Depth ................................................................................................................................. 406
Understanding DOM Nodes ............................................................................................................... 406
Understanding DOM Levels ............................................................................................................... 409
DOM Level 1.................................................................................................................................... 410
DOM Level 2.................................................................................................................................... 410
DOM Level 3.................................................................................................................................... 411
Understanding DOM Interfaces.......................................................................................................... 411
The DOMException Interface ........................................................................................................ 412
The DOMImplementation Interface ............................................................................................. 412
The DocumentFragment Interface ................................................................................................ 413
The Node Interface ......................................................................................................................... 413
The NodeList Interface ................................................................................................................... 415
The NamedNodeMap Interface .................................................................................................... 415
The CharacterData Interface .......................................................................................................... 415
The Document Interface ................................................................................................................. 416
The Element Interface..................................................................................................................... 416
The Attr Interface ............................................................................................................................ 417
The Text Interface ........................................................................................................................... 417
The Comment Interface .................................................................................................................. 418
Immediate Solutions ............................................................................................................ 419
Verifying the Type of the Node .......................................................................................................... 419
Verifying the Child Nodes of a Node ................................................................................................ 420
Changing the Text of an Element ....................................................................................................... 423
Summary ................................................................................................................................................ 424

xvii

Table of Contents

Chapter 17: Validation, Errors, Debugging, Exception Handling, and Security ..... 425
In Depth ................................................................................................................................. 426
Introducing Form Validation .............................................................................................................. 426
Exploring Errors in JavaScript............................................................................................................. 427
Describing Syntax Errors ............................................................................................................... 428
Describing Runtime Errors ............................................................................................................ 429
Describing Logic Errors ................................................................................................................. 430
Debugging JavaScript Programs ......................................................................................................... 431
Using JSLint Checker ...................................................................................................................... 431
Using Browser Sniffing .................................................................................................................. 431
Handling Exceptions ............................................................................................................................ 432
The try-catch Statement ................................................................................................................. 432
The onerror Event ........................................................................................................................... 433
Introducing Security in JavaScript ...................................................................................................... 433
The Same-Origin Policy ................................................................................................................. 433
The Signed-Script Policy ................................................................................................................ 434
Immediate Solutions ............................................................................................................ 435
Validating Forms .................................................................................................................................. 435
Validating Required Fields ............................................................................................................ 435
Validating Numbers ....................................................................................................................... 438
Validating User Name and Password .......................................................................................... 441
Validating a Phone Number .......................................................................................................... 445
Validating Time............................................................................................................................... 447
Validating Date ............................................................................................................................... 450
Validating Credit Cards ................................................................................................................. 453
Validating Zip Code ....................................................................................................................... 456
Using Regular Expression to Validate Email Address .................................................................... 458
Handling Exceptions ............................................................................................................................ 461
Using the try-catch Statement ....................................................................................................... 461
Using the onerror event ................................................................................................................. 463
Summary ................................................................................................................................................ 464

Chapter 18: Overview of CSS..................................................................................... 465


In Depth ................................................................................................................................. 466
Discussing the Evolution of CSS ......................................................................................................... 466
Understanding the Syntax of CSS ....................................................................................................... 468
xviii

Table of Contents

Exploring CSS Selectors ....................................................................................................................... 469


The Universal Selector.................................................................................................................... 469
The Type Selector ............................................................................................................................ 470
The Class Selector ........................................................................................................................... 470
The ID Selector ................................................................................................................................ 470
The Child Selector ........................................................................................................................... 470
The Descendant Selector ................................................................................................................ 471
The Adjacent Sibling Selector ........................................................................................................ 471
The Attribute Selectors ................................................................................................................... 471
The Query Selector ......................................................................................................................... 472
Inserting CSS in an HTML Document ............................................................................................... 472
The Internal Style Sheet.................................................................................................................. 472
The External Style Sheet ................................................................................................................. 473
The Inline style ................................................................................................................................ 474
Defining Inheritance in CSS ................................................................................................................ 475

Immediate Solutions ............................................................................................................ 477


Creating and Using a Simple External CSS File ................................................................................ 477
Using the Internal and Inline CSS Styles ........................................................................................... 480
Working with the querySelector() Method ....................................................................................... 481
Working with the querySelectorAll() Method .................................................................................. 483
Working with @import Rule ............................................................................................................... 485
Summary ................................................................................................................................................ 486

Chapter 19: Backgrounds and Color Gradients in CSS .......................................... 487


In Depth ................................................................................................................................. 488
Exploring Background of a Web Page ............................................................................................... 488
The background-color Property .................................................................................................... 489
The background-image Property .................................................................................................. 489
The background-repeat Property ................................................................................................. 490
The background-attachment Property ......................................................................................... 491
The background-position Property .............................................................................................. 491
The background-clip Property ...................................................................................................... 491
The background-origin Property .................................................................................................. 493
The background-size Property ...................................................................................................... 494
The background-quantity Property .............................................................................................. 495
The background-spacing Property ............................................................................................... 495
xix

Table of Contents

The background Property .............................................................................................................. 496


Exploring Color Properties .................................................................................................................. 496
The Opacity Property ..................................................................................................................... 501
The RGBA Value Format ............................................................................................................... 502
HSL and HSLA Values Format ..................................................................................................... 502
Exploring Gradient Properties ............................................................................................................ 503

Immediate Solutions ............................................................................................................ 505


Setting the Background Color ............................................................................................................. 505
Setting a Background Image................................................................................................................ 507
Fixing and Scrolling a Background Image......................................................................................... 509
Setting Multiple Background Images ................................................................................................. 511
Using the background-clip and background-origin Properties...................................................... 512
Using Color Properties ......................................................................................................................... 513
Using Gradient Properties ................................................................................................................... 518
Summary ................................................................................................................................................ 520

Chapter 20: Fonts and Text Styles ............................................................................ 521


In Depth ................................................................................................................................. 522
Understanding Fonts ............................................................................................................................ 522
Exploring Font Properties in CSS ....................................................................................................... 523
The font-family Property ............................................................................................................... 523
The font-size Property .................................................................................................................... 524
The font-size-adjust Property ........................................................................................................ 525
The font-stretch Property ............................................................................................................... 525
The font-style Property .................................................................................................................. 526
The font-variant Property .............................................................................................................. 526
The font-weight Property .............................................................................................................. 526
The font Property ............................................................................................................................ 527
Introducing Web Font .......................................................................................................................... 527
Applying CSS to Text ........................................................................................................................... 528
Immediate Solutions ............................................................................................................ 531
Working with Font Families ................................................................................................................ 531
Using Absolute Values ......................................................................................................................... 532
Using Relative Values .......................................................................................................................... 533
Using Percentage Values ..................................................................................................................... 534
Working with the font-size-adjust Property ..................................................................................... 535
xx

Table of Contents

Working with the font-style Property ................................................................................................ 536


Working with Web Fonts ..................................................................................................................... 537
Using the text-transform Property ..................................................................................................... 538
Using the text-indent Property............................................................................................................ 538
Using the text-decoration Property .................................................................................................... 540
Using the text-shadow Property ......................................................................................................... 541
Using the text-stroke Property ............................................................................................................ 541
Wrapping text........................................................................................................................................ 543
Summary ................................................................................................................................................ 544

Chapter 21: Creating Boxes and Columns Using CSS ............................................ 545
In Depth ................................................................................................................................. 546
Exploring the Box Model ..................................................................................................................... 546
Exploring Box Dimensions ............................................................................................................ 547
Exploring Padding Properties ....................................................................................................... 548
Exploring Border Properties .......................................................................................................... 549
Exploring Margin Properties ......................................................................................................... 556
Exploring width and height Properties ....................................................................................... 557
Exploring min-width, max-width, min-height and max-height Properties ........................... 557
Floating Boxes ................................................................................................................................. 557
Overflowing of Box Content ......................................................................................................... 558
Exploring Marquee Properties ...................................................................................................... 558
Rotating Boxes ................................................................................................................................. 559
Exploring the Line Box Model ............................................................................................................ 560
Exploring the Template Layout Model .............................................................................................. 561
The display Property ...................................................................................................................... 561
The position Property ..................................................................................................................... 562
Exploring the Multi-Column Model .................................................................................................. 563
Immediate Solutions ............................................................................................................ 567
Working with Padding......................................................................................................................... 567
Using the padding-top Property ................................................................................................... 568
Using the padding-right Property ................................................................................................ 569
Using the padding-left Property ................................................................................................... 571
Using the padding-bottom Property ............................................................................................ 572
Using the shorthand padding Property ....................................................................................... 573
Working with Border Properties ........................................................................................................ 574
xxi

Table of Contents

Working with Margin .......................................................................................................................... 576


Using the margin-top Property ..................................................................................................... 577
Using the margin-right Property .................................................................................................. 578
Using the margin-bottom Property .............................................................................................. 579
Using margin-left Property ........................................................................................................... 580
Using Shorthand margin Property ............................................................................................... 582
Working with Rounded Corners ........................................................................................................ 583
Creating Border with Images and Shadows...................................................................................... 584
Working with Columns ....................................................................................................................... 586
Using the column-width and column-count Properties ............................................................ 587
Using the column-gap and column-rule Properties ................................................................... 588
Using the column-span and column-fill Properties ................................................................... 589
Inserting Column and Page Breaks .............................................................................................. 591
Creating Floated Boxes......................................................................................................................... 594
Setting Box Dimensions ....................................................................................................................... 595
Summary ................................................................................................................................................ 596

Chapter 22: Displaying, Positioning, and Floating an Element .............................. 597


In Depth ................................................................................................................................. 598
Controlling the Display of an Element Using CSS ........................................................................... 598
Exploring the display Property ..................................................................................................... 599
Exploring the visibility Property .................................................................................................. 599
Positioning an Element ........................................................................................................................ 600
Fixed Positioning ............................................................................................................................ 601
Relative Positioning ........................................................................................................................ 601
Absolute Positioning ...................................................................................................................... 602
Floating an Element Using CSS........................................................................................................... 602
Immediate Solutions ............................................................................................................ 604
Working with the display Property.................................................................................................... 604
Working with the visibility Property ................................................................................................. 607
Hiding an Element ................................................................................................................................ 609
Setting Fixed Position of an Element .................................................................................................. 610
Setting Relative Position of an Element ............................................................................................. 612
Setting Absolute Position of an Element............................................................................................ 613
Overlapping of Elements ..................................................................................................................... 615
Floating an Element to the Right ........................................................................................................ 616
xxii

Table of Contents

Floating an Element to the Left ........................................................................................................... 617


Turning-Off Float .................................................................................................................................. 618
Summary ................................................................................................................................................ 622

Chapter 23: List Styles ............................................................................................... 623


In Depth ................................................................................................................................. 624
The list-style-type Property ................................................................................................................. 624
The list-style-image Property .............................................................................................................. 626
The list-style-position Property........................................................................................................... 627
The list-style shorthand Property ....................................................................................................... 627
Immediate Solutions ............................................................................................................ 628
Using the list-style-type Property ....................................................................................................... 628
Using the list-style-image Property .................................................................................................... 629
Using the list-style-position Property ................................................................................................ 630
Using the list-style shorthand Property ............................................................................................. 631
Creating Horizontal Lists..................................................................................................................... 633
Summary ................................................................................................................................................ 634

Chapter 24: Table Layouts ......................................................................................... 635


In Depth ................................................................................................................................. 636
The table-layout Property .................................................................................................................... 636
The caption-side Property ................................................................................................................... 637
The border-collapse Property .............................................................................................................. 637
The border-spacing Property .............................................................................................................. 638
The empty-cells Property ..................................................................................................................... 638
Immediate Solutions ............................................................................................................ 639
Setting the Auto Table Layout ............................................................................................................ 639
Setting the Fixed Table Layout............................................................................................................ 640
Specifying a Table Caption .................................................................................................................. 641
Displaying Border around Cells ......................................................................................................... 643
Specifying Border Spacing ................................................................................................................... 644
Specifying Border around Empty Cells ............................................................................................. 646
Displaying Images in a Table .............................................................................................................. 648
Applying Rounded Corners on Table Cells ...................................................................................... 649
Summary ................................................................................................................................................ 652

xxiii

Table of Contents

Chapter 25: Pseudo-classes and Pseudo-elements ................................................ 653


In Depth ................................................................................................................................. 654
Exploring the Pseudo-Classes ............................................................................................................. 654
Dynamic Pseudo-Classes ............................................................................................................... 655
The Target Pseudo-Class................................................................................................................ 655
The Language Pseudo-Class.......................................................................................................... 656
UI Element States Pseudo-Classes ................................................................................................ 656
Structural Pseudo-Classes ............................................................................................................. 656
The Negation Pseudo-Class........................................................................................................... 658
Exploring the Pseudo-Elements .......................................................................................................... 658
Immediate Solutions ............................................................................................................ 660
Using Dynamic Pseudo-Classes.......................................................................................................... 660
Using the Target Pseudo-Class ........................................................................................................... 663
Using the Language Pseudo-Class ..................................................................................................... 666
Using the UI Element States Pseudo-classes ..................................................................................... 666
Using the Structural Pseudo-Classes.................................................................................................. 670
Using the Negation Pseudo-Class ...................................................................................................... 672
Using the ::first-line Pseudo-Element ................................................................................................. 674
Using the ::first-letter Pseudo-Element .............................................................................................. 675
Using the ::before Pseudo-Element .................................................................................................... 676
Using the ::after Pseudo-Element ....................................................................................................... 677
Summary ................................................................................................................................................ 678

Chapter 26: Effects, Frames, and Controls in CSS .................................................. 679


In Depth ................................................................................................................................. 680
Exploring Different Types of Effects in CSS ...................................................................................... 680
Opacity Effects ................................................................................................................................ 681
Transition Effects ............................................................................................................................ 681
Transformation Effects ................................................................................................................... 681
Animation Effects ........................................................................................................................... 682
Creating Frames Using CSS ................................................................................................................. 683
Customizing Controls Using CSS ....................................................................................................... 684
Immediate Solutions ............................................................................................................ 685
Changing Image Transparency with Mouse Events ........................................................................ 685
Writing Text in a Transparent Box ..................................................................................................... 687
Applying the Transformation Effects................................................................................................. 688
xxiv

Table of Contents

Applying the Transition Effects .......................................................................................................... 690


Applying the Animation Effects ......................................................................................................... 695
Creating Frames .................................................................................................................................... 698
Changing the Appearance of Buttons ................................................................................................ 703
Changing the Appearance of Vertical Menus ................................................................................... 705
Changing the Appearance of Horizontal Menus.............................................................................. 708
Changing the Appearance of Scroll Bars ........................................................................................... 710
Summary ................................................................................................................................................ 712

Chapter 27: Implementing the Advanced Features of HTML5 ................................ 713


In Depth ................................................................................................................................. 714
Creating Editable Content ................................................................................................................... 714
Checking Spelling Mistakes ................................................................................................................ 715
Exploring Custom Data Attributes ..................................................................................................... 715
Exploring Microdata............................................................................................................................. 715
The itemscope Attribute................................................................................................................. 716
The itemprop Attribute .................................................................................................................. 716
The itemref Attribute ...................................................................................................................... 717
The itemtype Attribute ................................................................................................................... 718
The itemid Attribute ....................................................................................................................... 718
Exploring Client-Side Storage ............................................................................................................. 718
Session Storage ................................................................................................................................ 719
Local Storage ................................................................................................................................... 719
Database Storage ............................................................................................................................. 720
Exploring the Drag and Drop Feature ............................................................................................... 721
The DragEvent and DataTransfer Interfaces ............................................................................... 722
The draggable and dropzone Attributes ..................................................................................... 722
Exploring ARIA Accessibility ............................................................................................................. 723
Exploring Offline Web Applications .................................................................................................. 724
Exploring Web Communication ......................................................................................................... 724
Geolocation API .............................................................................................................................. 725
Web Sockets ..................................................................................................................................... 725
Web Workers ................................................................................................................................... 726
Exploring Cross-Document Messaging ............................................................................................. 726
Exploring Desktop Notifications ........................................................................................................ 727

xxv

Table of Contents

Supporting 2D and 3D Graphics......................................................................................................... 728


Detecting HTML5 and CSS 3 Features Using Modernizr ................................................................ 728

Immediate Solutions ............................................................................................................ 730


Using the contentEditable Attribute .................................................................................................. 730
Implementing the Spell Check Attribute ........................................................................................... 732
Creating Custom Data Attributes ....................................................................................................... 733
Implementing Session Storage ............................................................................................................ 736
Implementing Local Storage ............................................................................................................... 738
Implementing Database Storage ......................................................................................................... 740
Implementing the Drag and Drop Feature ........................................................................................ 745
Implementing the Geolocation Feature ............................................................................................. 750
Implementing Web Worker ................................................................................................................. 753
Implementing Notifications ................................................................................................................ 755
Creating 2D Graphics ........................................................................................................................... 757
Implementing Modernizr .................................................................................................................... 758
Summary ................................................................................................................................................ 760

PART III: XML


Chapter 28: Working with Basics of XML ................................................................. 761
In Depth ................................................................................................................................. 762
Exploring XML ...................................................................................................................................... 762
Comparing XML with HTML ............................................................................................................. 763
Exploring Advantages and Disadvantages of XML ......................................................................... 764
Describing the Structure of an XML Document................................................................................ 765
Exploring XML Declaration........................................................................................................... 765
Exploring XML Elements ............................................................................................................... 766
Exploring XML Attributes ............................................................................................................. 767
Exploring an XML Tree .................................................................................................................. 767
Exploring XML Comments ............................................................................................................ 768
Exploring XML Entity References ...................................................................................................... 768
Exploring XML Parsers ........................................................................................................................ 768
Describing DTD..................................................................................................................................... 769
Defining DTD for a Single Element .............................................................................................. 770
Defining DTD for Nested Elements ............................................................................................. 771
Defining Attributes in the DTD .................................................................................................... 771
xxvi

Table of Contents

Defining Entities in the DTD ......................................................................................................... 772


Referencing External Entities ........................................................................................................ 773

Immediate Solutions ............................................................................................................ 774


Creating an XML Document ............................................................................................................... 774
Defining XML Attributes ..................................................................................................................... 775
Creating an XML Tree .......................................................................................................................... 776
Working with XML Comments........................................................................................................... 777
Defining XML Entity References ........................................................................................................ 779
Working with XML Parsers ................................................................................................................. 779
Working with DTD ............................................................................................................................... 781
Creating Internal DTD ......................................................................................................................... 784
Summary ................................................................................................................................................ 786

Chapter 29: Implementing Advanced Features of XML ........................................... 787


In Depth ................................................................................................................................. 788
Exploring XML Namespaces ............................................................................................................... 788
Describing the Need of Namespaces ............................................................................................ 789
Describing the Namespace Syntax ............................................................................................... 790
Describing the Scope of a Namespace Declaration .................................................................... 790
Defining a Default Namespace ..................................................................................................... 791
Defining a Namespace with DTDs ............................................................................................... 792
Describing an XML Schema ................................................................................................................ 792
Understanding the Simple Type Element ................................................................................... 793
Understanding the Complex Type Element ................................................................................ 797
Describing the Data Types of Schema .......................................................................................... 799
Using Namespaces in XML Schemas ........................................................................................... 802
Understanding XML CDATA ............................................................................................................. 802
Describing Entity References............................................................................................................... 803
Understanding XML Encoding ........................................................................................................... 803
Immediate Solutions ............................................................................................................ 805
Using a Default Namespace ................................................................................................................ 805
Using Multiple Namespaces ............................................................................................................... 806
Specifying a Namespace in DTD ........................................................................................................ 807
Creating an XML Schema Using Simple Type Elements ................................................................. 808
Creating an XML Schema Using Complex Type Elements ............................................................. 810
Working with XML Encoding ............................................................................................................. 812
xxvii

Table of Contents

Using CDATA in an XML Document ................................................................................................ 815


Specifying Namespaces in an XML Schema Document .................................................................. 816
Summary ................................................................................................................................................ 818

Chapter 30: Converting XML Documents in Other Formats ................................... 819


In Depth ................................................................................................................................. 820
Exploring the DOM Parser .................................................................................................................. 820
Exploring the SAX Parser .................................................................................................................... 821
Exploring JAXP ..................................................................................................................................... 822
Exploring the XSLT Processor ............................................................................................................. 823
Exploring XSL-FO ................................................................................................................................. 823
Documents ....................................................................................................................................... 824
Areas ................................................................................................................................................. 826
Lists and Tables ............................................................................................................................... 827
Immediate Solutions ............................................................................................................ 829
Parsing XML Documents Using DOM Parser................................................................................... 829
Parsing XML Documents Using the SAX Parser .............................................................................. 831
Parsing XML Documents Using JAXP ............................................................................................... 835
Parsing XML Documents Using the XSLT Processor ....................................................................... 838
Summary ................................................................................................................................................ 842

Chapter 31: Working with XSLT................................................................................. 843


In Depth ................................................................................................................................. 844
Exploring XSLT Elements and Attributes ......................................................................................... 844
The xsl:template Element ............................................................................................................... 847
The xsl:apply-templates Element .................................................................................................. 848
The xsl:import Element .................................................................................................................. 849
The xsl:call-template Element ....................................................................................................... 849
The xsl:include Element ................................................................................................................. 850
The xsl:element Element ................................................................................................................ 850
The xsl:attribute Element ............................................................................................................... 851
The xsl:attribute-set Element ......................................................................................................... 851
The xsl:value-of Element ................................................................................................................ 852
Exploring Variables and Parameters .................................................................................................. 852
Exploring Conditional Statements...................................................................................................... 853
Sorting Elements ................................................................................................................................... 855

xxviii

Table of Contents

Exploring XSLT Functions ................................................................................................................... 856


Exploring NaN Values and Patterns .................................................................................................. 859

Immediate Solutions ............................................................................................................ 861


Transforming an XML Document ...................................................................................................... 861
Using the xsl:template and xsl:apply-templates Elements .............................................................. 863
Using XSLT Functions .......................................................................................................................... 865
Specifying Conditions Using the xsl:if Element................................................................................ 871
Specifying Multiple Conditions .......................................................................................................... 873
Sorting Elements ................................................................................................................................... 874
Declaring Parameters ........................................................................................................................... 875
Using a NaN Value ............................................................................................................................... 877
Summary ................................................................................................................................................ 878

Chapter 32: Working with XPath, XLink, and XPointer............................................ 879


In Depth ................................................................................................................................. 880
Exploring the XPath Language ........................................................................................................... 880
Functionality of the XPath Language ........................................................................................... 881
XPath Functions .............................................................................................................................. 883
Exploring the XLink Language ........................................................................................................... 885
Exploring the XPointer Language ...................................................................................................... 886
XPointer Syntax ............................................................................................................................... 887
XPointer Functions ......................................................................................................................... 887
Immediate Solutions ............................................................................................................ 888
Implementing XPath Using the count() Function............................................................................. 888
Implementing XPath Using the last() Function ................................................................................ 890
Implementing XPath Using local-name(), name(), and namespace-uri() Functions .................... 891
Implementing XPath Using the ceiling() Function ........................................................................... 893
Implementing XPath Using the floor() Function .............................................................................. 895
Implementing XPath Using the number() Function ......................................................................... 896
Implementing XPath Using the round() Function ............................................................................ 897
Implementing XPath Using the concat() Function ........................................................................... 898
Implementing XPath Using the contains() Function ........................................................................ 900
Implementing XPath Using the normalize-space() Function .......................................................... 901
Implementing XPath Using the starts-with() Function .................................................................... 902
Implementing XPath Using the string-length () Function ............................................................... 903
Implementing XPath Using the substring() Function ...................................................................... 904
xxix

Table of Contents

Implementing XPath Using the substring-after() Function ............................................................. 906


Implementing XPath Using the translate() Function ....................................................................... 907
Working with XLink ............................................................................................................................. 908
Working with XPointer ........................................................................................................................ 909
Summary ................................................................................................................................................ 910

PART IV: AJAX


Chapter 33: Overview of AJAX .................................................................................. 911
In Depth ................................................................................................................................. 912
Exploring Different Web Technologies .............................................................................................. 912
Describing Problems with Technologies ........................................................................................... 915
Exploring AJAX..................................................................................................................................... 916
AJAX Web Application Model ...................................................................................................... 917
How AJAX Works? ......................................................................................................................... 919
Immediate Solutions ............................................................................................................ 920
Creating a Simple AJAX Application ................................................................................................. 920
Displaying Date and Time without Using AJAX ............................................................................. 922
Displaying Date and Time using AJAX ............................................................................................. 923
Summary ................................................................................................................................................ 926

Chapter 34: Asynchronous Data Transfer with XMLHttpRequest .......................... 927


In Depth ................................................................................................................................. 928
Creating the XMLHttpRequest Object ............................................................................................... 928
XMLHttpRequest Properties ......................................................................................................... 930
XMLHttpRequest Methods ........................................................................................................... 933
Using the XMLHttpRequest Object in Different Browsers ............................................................. 934
Immediate Solutions ............................................................................................................ 936
Reading a File Synchronously ............................................................................................................. 936
Reading a File Asynchronously .......................................................................................................... 938
Performing Tasks Using the XMLHttpRequest Object .................................................................... 941
Validating an Input Field ............................................................................................................... 941
Reading Response Headers ........................................................................................................... 945
Loading List Boxes Dynamically .................................................................................................. 948
Summary ................................................................................................................................................ 952

xxx

Table of Contents

Chapter 35: Implementing AJAX Frameworks ......................................................... 953


In Depth ................................................................................................................................. 954
Describing the Prototype Framework ................................................................................................ 954
Describing the Script.aculo.us Framework........................................................................................ 955
Describing the Dojo Toolkit Framework ........................................................................................... 956
Describing the Rico Framework.......................................................................................................... 957
Describing the Spry Framework ......................................................................................................... 958
Describing the DWR Framework........................................................................................................ 958
Describing the Yahoo UI Library Framework................................................................................... 959
Describing the Google Web Toolkit Framework .............................................................................. 959
Immediate Solutions ............................................................................................................ 960
Using the Prototype Framework ........................................................................................................ 960
Using the Dojo Framework ................................................................................................................. 966
Using the Rico Framework .................................................................................................................. 973
Using the Spry Framework.................................................................................................................. 980
Summary ................................................................................................................................................ 986

Chapter 36: Working with ASP.NET AJAX Application ........................................... 987


In Depth ................................................................................................................................. 988
Introducing ASP.NET AJAX Extensions ........................................................................................... 988
Objectives of ASP.NET AJAX Extensions .................................................................................... 989
Architecture of ASP.NET AJAX .................................................................................................... 990
ASP.NET AJAX Server Controls ................................................................................................... 992
ASP.NET AJAX Control Toolkit ................................................................................................... 993
ConfiguringASP.NET AJAX ............................................................................................................... 993
Immediate Solutions ............................................................................................................ 997
Differentiating between AJAX and Non-AJAX Applications ......................................................... 997
Creating a Simple Non-AJAX Application .................................................................................. 997
Creating a Simple AJAX Application ........................................................................................... 999
Using the Timer Control .................................................................................................................... 1001
Using the Timer Control Inside the UpdatePanel Control ...................................................... 1001
Using the Timer Control Outside the UpdatePanel Control................................................... 1003
Using the UpdateProgress Control................................................................................................... 1006
Using the UpdateProgress Control for Single UpdatePanel Control..................................... 1006
Using the UpdateProgress Control for Multiple UpdatePanel Controls .............................. 1008

xxxi

Table of Contents

Implementing Localization with ASP.NET AJAX .......................................................................... 1011


Creating Custom ASP.NET AJAX Controls .................................................................................... 1030
Summary .............................................................................................................................................. 1036

Chapter 37: Integrating PHP and AJAX .................................................................. 1037


In Depth ............................................................................................................................... 1038
Exploring the Fundamentals of PHP................................................................................................ 1038
Variables......................................................................................................................................... 1039
Strings ............................................................................................................................................. 1039
Arrays ............................................................................................................................................. 1039
Comments ...................................................................................................................................... 1040
Operators ....................................................................................................................................... 1040
Control Structures ......................................................................................................................... 1041
Methods.......................................................................................................................................... 1042
Exploring the Interaction between PHP and AJAX........................................................................ 1043
Using PHP Enabled Server ................................................................................................................ 1044
Immediate Solutions .......................................................................................................... 1046
Using the echo Statement in PHP ..................................................................................................... 1046
Using the if-else Statement in PHP ................................................................................................... 1046
Using a Loop Statement in PHP........................................................................................................ 1047
Using a Method in PHP ..................................................................................................................... 1048
Sending Data from a Web Application to a Server ........................................................................ 1049
Validating a Field Using AJAX and PHP ........................................................................................ 1051
Creating a Polling Application Using AJAX and PHP .................................................................. 1054
Creating a Suggestion Application Using AJAX and PHP ........................................................... 1058
Handling XML Data using PHP and AJAX..................................................................................... 1061
Retrieving Data from a Database Using PHP and AJAX............................................................... 1065
Summary .............................................................................................................................................. 1068

Chapter 38: Consuming Web Services Using AJAX.............................................. 1069


In Depth ............................................................................................................................... 1070
Exploring Web Service Protocols ...................................................................................................... 1070
SOAP .............................................................................................................................................. 1071
Web Service Description Language ............................................................................................ 1073
UDDI .............................................................................................................................................. 1076

xxxii

Table of Contents

REST ............................................................................................................................................... 1076


Consuming Web Services Using AJAX ............................................................................................ 1078
Exploring New Technologies to Create Web Services ................................................................... 1078
Java API for XML based RPC ...................................................................................................... 1079
Java Architecture for XML Binding ............................................................................................ 1079
Java API for XML Messaging ...................................................................................................... 1079
Java API for XML Registries ........................................................................................................ 1079
Java API for XML Parsing............................................................................................................ 1080
Exploring Cross Domain Web Services ........................................................................................... 1080

Immediate Solutions .......................................................................................................... 1081


Creating a Web Service ...................................................................................................................... 1081
Creating a Web Service Endpoint ............................................................................................... 1081
Creating a Home Page.................................................................................................................. 1084
Consuming a Web Service ................................................................................................................. 1085
Summary .............................................................................................................................................. 1086

Chapter 39: Working with jQuery ............................................................................ 1087


In Depth ............................................................................................................................... 1088
Exploring the Fundamentals of jQuery............................................................................................ 1088
Loading and Using jQuery .......................................................................................................... 1091
Using the jQuery Library File...................................................................................................... 1091
Describing Callback Functions .................................................................................................... 1092
Exploring jQuery Selectors ................................................................................................................ 1093
Exploring jQuery Methods to Access HTML Attributes ............................................................... 1095
Exploring jQuery Methods for Traversing ...................................................................................... 1096
Exploring jQuery Manipulators ........................................................................................................ 1097
Exploring jQuery Events .................................................................................................................... 1099
Exploring jQuery Effects .................................................................................................................... 1101
Exploring jQuery with AJAX ............................................................................................................ 1102
Immediate Solutions .......................................................................................................... 1104
Using jQuery Selectors ....................................................................................................................... 1104
Using jQuery Methods to Access Attributes ................................................................................... 1105
Using jQuery Traversing Methods ................................................................................................... 1107
Using jQuery Manipulators ............................................................................................................... 1108
Using jQuery Events ........................................................................................................................... 1111

xxxiii

Table of Contents

Creating jQuery Animation Effects .................................................................................................. 1112


Working with AJAX and jQuery....................................................................................................... 1118
Summary .............................................................................................................................................. 1122

Chapter 40: Case Study: HTML5 Black Book Website .......................................... 1123
Appendix A: Obsolete Elements and Attributes of HTML5 ................................... 1125
Appendix B: Browser Compatibility of HTML5 & CSS3 ........................................ 1131
Appendix C: Overview of XHTML ............................................................................ 1135
Glossary ..................................................................................................................... 1191
Index ........................................................................................................................... 1211
Whats on the CD-ROM ............................................................................................. 1220

xxxiv

You might also like