100% found this document useful (2 votes)
16 views95 pages

Beginning Iphone and Ipad Web Apps Scripting With HTML5 CSS3 and JavaScript 1st Edition Chris Apers Instant Access 2025

The document is a promotional overview for the book 'Beginning iPhone and iPad Web Apps Scripting with HTML5, CSS3, and JavaScript' by Chris Apers, highlighting its content and features. It includes details about the book's format, educational collection, and various related titles available for download. The book aims to teach readers how to develop web applications for iOS using modern web standards.

Uploaded by

romdanadilsa
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
100% found this document useful (2 votes)
16 views95 pages

Beginning Iphone and Ipad Web Apps Scripting With HTML5 CSS3 and JavaScript 1st Edition Chris Apers Instant Access 2025

The document is a promotional overview for the book 'Beginning iPhone and iPad Web Apps Scripting with HTML5, CSS3, and JavaScript' by Chris Apers, highlighting its content and features. It includes details about the book's format, educational collection, and various related titles available for download. The book aims to teach readers how to develop web applications for iOS using modern web standards.

Uploaded by

romdanadilsa
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/ 95

Beginning iPhone and iPad Web Apps Scripting

with HTML5 CSS3 and JavaScript 1st Edition Chris


Apers pdf download
https://ebookname.com/product/beginning-iphone-and-ipad-web-apps-scripting-with-html5-css3-and-
javascript-1st-edition-chris-apers/

★★★★★ 4.6/5.0 (32 reviews) ✓ 70 downloads ■ TOP RATED


"Excellent quality PDF, exactly what I needed!" - Sarah M.

DOWNLOAD EBOOK
Beginning iPhone and iPad Web Apps Scripting with HTML5 CSS3
and JavaScript 1st Edition Chris Apers pdf download

TEXTBOOK EBOOK EBOOK GATE

Available Formats

■ PDF eBook Study Guide TextBook

EXCLUSIVE 2025 EDUCATIONAL COLLECTION - LIMITED TIME

INSTANT DOWNLOAD VIEW LIBRARY


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Learn HTML5 and JavaScript for iOS Web Standards based


Apps for iPhone iPad and iPod touch 1st Edition Scott
Preston

https://ebookname.com/product/learn-html5-and-javascript-for-ios-
web-standards-based-apps-for-iphone-ipad-and-ipod-touch-1st-
edition-scott-preston/

Metro Revealed Building Windows 8 apps with HTML5 and


JavaScript 1st Edition Adam Freeman

https://ebookname.com/product/metro-revealed-building-
windows-8-apps-with-html5-and-javascript-1st-edition-adam-
freeman/

Client Server Web Apps with JavaScript and Java 1st


Edition Casimir Saternos

https://ebookname.com/product/client-server-web-apps-with-
javascript-and-java-1st-edition-casimir-saternos/

The Complete Book of Woodworking An Illustrated Guide


to Tools and Techniques Declan O'Donoghue

https://ebookname.com/product/the-complete-book-of-woodworking-
an-illustrated-guide-to-tools-and-techniques-declan-odonoghue/
Understanding Clinical Papers 2nd Edition David Bowers

https://ebookname.com/product/understanding-clinical-papers-2nd-
edition-david-bowers/

World Film Locations Glasgow 1st Edition Nicola Balkind

https://ebookname.com/product/world-film-locations-glasgow-1st-
edition-nicola-balkind/

Irrigation and Water Power Engineering 16th Edition


Punmia

https://ebookname.com/product/irrigation-and-water-power-
engineering-16th-edition-punmia/

Rethinking Risk Assessment The MacArthur Study of


Mental Disorder and Violence 1st Edition John Monahan

https://ebookname.com/product/rethinking-risk-assessment-the-
macarthur-study-of-mental-disorder-and-violence-1st-edition-john-
monahan/

Out in Africa LGBT Organizing in Namibia and South


Africa Social Movements Protest and Contention 1st
Edition Ashley Currier

https://ebookname.com/product/out-in-africa-lgbt-organizing-in-
namibia-and-south-africa-social-movements-protest-and-
contention-1st-edition-ashley-currier/
Tradition Book Cult of Ecstasy Mage The Ascension Lynn
Davis

https://ebookname.com/product/tradition-book-cult-of-ecstasy-
mage-the-ascension-lynn-davis/
Beginning iPhone and iPad Web Apps: Scripting with HTML5, CSS3, and JavaScript
Copyright © 2010 by Chris Apers and Daniel Paterson
All rights reserved. No part of this work may be reproduced or transmitted in any form or by
any means, electronic or mechanical, including photocopying, recording, or by any
information storage or retrieval system, without the prior written permission of the
copyright owner and the publisher.
ISBN-13 (pbk): 978-1-4302-3045-8
ISBN-13 (electronic): 978-1-4302-3046-5
Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1
Trademarked names, logos, and images may appear in this book. Rather than use a
trademark symbol with every occurrence of a trademarked name, logo, or image we use the
names, logos, and images only in an editorial fashion and to the benefit of the trademark
owner, with no intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms,
even if they are not identified as such, is not to be taken as an expression of opinion as to
whether or not they are subject to proprietary rights.
President and Publisher: Paul Manning
Lead Editor: Steve Anglin
Technical Reviewer: Paul Haine
Editorial Board: Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell, Jonathan
Gennick, Jonathan Hassell, Michelle Lowman, Matthew Moodie, Duncan Parkes,
Jeffrey Pepper, Frank Pohlmann, Douglas Pundick, Ben Renow-Clarke, Dominic
Shakeshaft, Matt Wade, Tom Welsh
Coordinating Editor: Adam Heath
Copy Editor: Kim Wimpsett
Compositor: MacPS, LLC
Indexer: BIM Indexing & Proofreading Services
Cover Designer: Anna Ishchenko
Distributed to the book trade worldwide by Springer Science+Business Media, LLC., 233
Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505,
e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com.
For information on translations, please e-mail rights@apress.com, or visit www.apress.com.
Apress and friends of ED books may be purchased in bulk for academic, corporate, or
promotional use. eBook versions and licenses are also available for most titles. For more
information, reference our Special Bulk Sales–eBook Licensing web page at www.apress.com/
info/bulksales.
The information in this book is distributed on an “as is” basis, without warranty. Although
every precaution has been taken in the preparation of this work, neither the author(s) nor
Apress shall have any liability to any person or entity with respect to any loss or damage
caused or alleged to be caused directly or indirectly by the information contained in this
work.
The source code for this book is available to readers at www.apress.com.
Contents at a Glance

■Contents .......................................................................................................... v
■About the Authors ..........................................................................................xv
■About the Technical Reviewer.......................................................................xvi
■Acknowledgments........................................................................................xvii
■Introduction.................................................................................................xviii
Part I: Getting Started with Web App Development ............................................ 1
■Chapter 1: Development Tools......................................................................... 3
■Chapter 2: Development Environment ........................................................... 13
■Chapter 3: Introducing Developer and Debugging Tools ............................... 29
Part II: Web App Design with HTML5 and CSS3 ................................................ 65
■Chapter 4: The Anatomy of a Web Application .............................................. 67
■Chapter 5: User Experience and Interface Guidelines ................................... 89
■Chapter 6: Interesting CSS Features for Your Web Application
User Interface ............................................................................ 117
■Chapter 7: Bitmap and Vector Graphics and Downloadable Fonts
with Canvas and SVG................................................................. 165
■Chapter 8: Embedding Audio and Video Content in
Your Web Application ................................................................ 219
■Chapter 9: Handling Transformations, Animations,
and Special Effects with CSS ..................................................... 257
Part III: Going Futher with JavaScript and Web Standards ............................ 299
■Chapter 10: An Object-Oriented JavaScript Programming Primer.............. 301
■Chapter 11: Cross-Document Communication ............................................ 321
■Chapter 12: Ajax and Dynamic Content ....................................................... 343
■Chapter 13: Using Touch and Gesture Events.............................................. 367
■Chapter 14: Location-Aware Web Applications ........................................... 397
■Chapter 15: A Better Handling of Client-Side Data Storage......................... 431
■Index............................................................................................................ 467
iv
Contents

■Contents at a Glance....................................................................................... iv
■About the Authors ..........................................................................................xv
■About the Technical Reviewer.......................................................................xvi
■Acknowledgments........................................................................................xvii
■Introduction.................................................................................................xviii

Part I: Getting Started with Web App Development ............................................ 1


■Chapter 1: Development Tools......................................................................... 3
The Source Editor ...................................................................................................................................................3
Varanus Komodoensis .......................................................................................................................................3
Make Yourself Comfortable ...............................................................................................................................4
What About Dashcode?...........................................................................................................................................5
Using the Right Browser .........................................................................................................................................6
The WebKit.........................................................................................................................................................6
The Gecko and the Fox ......................................................................................................................................7
Opera .................................................................................................................................................................7
Internet Explorer, Lost at Sea ............................................................................................................................7
Developing Web-Wise.............................................................................................................................................8
Acid...Acid...Acid ................................................................................................................................................8
HTML5 Conformance .........................................................................................................................................8
A Satellite in Your Browser ................................................................................................................................8
Developing for iOS ..................................................................................................................................................9
Using the iPhone and iPad Simulator.................................................................................................................9
Using a Real Device Anyway............................................................................................................................10
The ADC Is Your Friend ....................................................................................................................................10
Summary ..............................................................................................................................................................11
■Chapter 2: Development Environment ........................................................... 13
Serving the Web Application.................................................................................................................................13
Mac OS, Making Things Easy................................................................................................................................14

v
■ CONTENTS

An Apache in Your Mac....................................................................................................................................14


The Script Engine.............................................................................................................................................15
Windows, Choose Your Weapons..........................................................................................................................16
An All-in-One Installation Process ...................................................................................................................17
Security Settings..............................................................................................................................................20
Linux, Take Control ...............................................................................................................................................22
Handling Multiple Hosts........................................................................................................................................23
Unix-Based System..........................................................................................................................................23
Windows-Based System ..................................................................................................................................24
Configuring Multiple Web Sites.............................................................................................................................24
Apache 2: Get Carried Away ............................................................................................................................24
The Windows Case...........................................................................................................................................26
Have You Made It? ................................................................................................................................................27
Bet You Have! .......................................................................................................................................................28
■Chapter 3: Introducing Developer and Debugging Tools ............................... 29
Making Friends with WebKit’s Developer Tools....................................................................................................29
Enabling the Develop Menu .............................................................................................................................30
The Develop Menu Exposed.............................................................................................................................30
Developing on Mobile Safari ............................................................................................................................32
Overview of the Web Inspector .............................................................................................................................34
The Developer Tools Window...........................................................................................................................35
Error Notifications............................................................................................................................................36
Master Your Code .................................................................................................................................................37
Make the Document Yours...............................................................................................................................37
Dig Your Style ..................................................................................................................................................38
Editing Styles ...................................................................................................................................................40
Metrics.............................................................................................................................................................40
Advanced Search .............................................................................................................................................43
The Resources Viewer ..........................................................................................................................................44
Debugging JavaScript...........................................................................................................................................46
Logging to the Console ....................................................................................................................................46
Using the Interactive Shell ...............................................................................................................................48
Let the Debugger Do the Job ...........................................................................................................................49
The Life Cycle of Your Page ..................................................................................................................................55
Profiling Your Scripts ............................................................................................................................................57
Understanding the Profiles ..............................................................................................................................58
Filtering with the Search Field.........................................................................................................................59
Client-Side Data Storage ......................................................................................................................................60
Database Storage ............................................................................................................................................61
Cookies ............................................................................................................................................................61
Other Storage Features....................................................................................................................................61
Auditing Your Page ...............................................................................................................................................61
Still Unsure?..........................................................................................................................................................63
Summary ..............................................................................................................................................................63
Part II: Web App Design with HTML5 and CSS3 ................................................ 65
■Chapter 4: The Anatomy of a Web Application .............................................. 67
The iPhone Revolution ..........................................................................................................................................67

vi
■ CONTENTS

Belief in Web Apps...........................................................................................................................................68


But What is a Web App Exactly? ......................................................................................................................70
Planet of the Apps: Who Rules..............................................................................................................................71
Cross-Platform Master.....................................................................................................................................71
Hardware Access Is No Forbidden Weapon Anymore......................................................................................72
Free Your Content ............................................................................................................................................72
Release Model .................................................................................................................................................73
Web Apps: Not the Little Brother Anymore ......................................................................................................73
Web Apps on Mobile Safari...................................................................................................................................73
Master the Browser .........................................................................................................................................73
Browser Metrics...............................................................................................................................................74
Think “Web App” .............................................................................................................................................75
Configuring the Viewport ......................................................................................................................................75
Seriously Appy: Using Stand-Alone Mode.............................................................................................................77
Showcasing a Proper Icon ...............................................................................................................................77
Running Your Application Full-Screen .............................................................................................................79
An Awesome Startup .......................................................................................................................................79
Tweaking the Status Bar..................................................................................................................................80
Staying in Stand-Alone Mode ..........................................................................................................................80
Build Your First Web App Base Project .................................................................................................................81
Your Document Template in Komodo Edit .......................................................................................................82
Hiding Mobile Safari’s Address Bar .................................................................................................................85
Handling Screen Orientation Changes .............................................................................................................86
Final Touch ......................................................................................................................................................87
Ready to Go...........................................................................................................................................................88
■Chapter 5: User Experience and Interface Guidelines ................................... 89
From the Web on the Desktop to the Mobile Web ................................................................................................90
Forget the Desktop ..........................................................................................................................................91
Change Navigation Habits................................................................................................................................91
Show Ads Thoughtfully ....................................................................................................................................92
Let Users Decide by Themselves .....................................................................................................................95
Simplicity and Ease of Use ...................................................................................................................................96
Avoid Clutter ....................................................................................................................................................96
User Interface ..................................................................................................................................................97
Avoid Unnecessary Interaction .............................................................................................................................99
Make Use of New Input Types Capabilities....................................................................................................100
Ponder Upon User-Supplied Information .......................................................................................................101
Avoid Multiplying Steps .................................................................................................................................102
The Spirit: Be Focused........................................................................................................................................102
Make Things Responsive ....................................................................................................................................103
Make Your Web App Responsive ...................................................................................................................103
Make Your Web App Reactive........................................................................................................................105
iOS Interface Design Good Practices ..................................................................................................................105
Adaptability ....................................................................................................................................................105
List vs. Icon Approach....................................................................................................................................106
Considering UI Alternatives.................................................................................................................................109
Mimicking the iOS UI......................................................................................................................................109

vii
■ CONTENTS

Building the iPad Experience .........................................................................................................................110


Be Creative and Innovative .................................................................................................................................115
Summary ............................................................................................................................................................116
■Chapter 6: Interesting CSS Features for Your Web Application
User Interface ............................................................................ 117
Improving the User Experience with CSS ...........................................................................................................117
User Feedback ...............................................................................................................................................118
Disabling Copy/Paste Functionalities.............................................................................................................119
Control Over Callout .......................................................................................................................................120
Selectors.............................................................................................................................................................121
Overview of Available CSS Selectors .............................................................................................................121
Position in Suite Selectors: Structural Pseudoclasses...................................................................................122
Advanced Handling of Backgrounds ...................................................................................................................124
Origin of the Background ...............................................................................................................................125
Global Background Clipping...........................................................................................................................126
Text-Based Background Clipping...................................................................................................................128
Sizing the Background...................................................................................................................................128
Developing a Photos-Like Gallery ..................................................................................................................130
Multilayer Backgrounds .................................................................................................................................134
Colors..................................................................................................................................................................135
The Alpha Channel .........................................................................................................................................135
New Color Definitions ....................................................................................................................................136
Using Gradients...................................................................................................................................................137
Basic Syntax ..................................................................................................................................................137
Changing the Size of the Gradient .................................................................................................................139
Complete Gradient Syntax .............................................................................................................................139
Advanced Color Handling...............................................................................................................................140
Boxes and Borders..............................................................................................................................................142
Box Sizing ......................................................................................................................................................142
Rounded Box Corners ....................................................................................................................................143
Borders Drawn with Images ..........................................................................................................................145
Shadows .............................................................................................................................................................147
Box Shadows .................................................................................................................................................148
Text Shadows ................................................................................................................................................149
Text Effect with Shadows and Outline ...........................................................................................................150
Adding a Button to Your Header..........................................................................................................................150
Columns Layout ..................................................................................................................................................152
CSS Column Properties..................................................................................................................................152
Porting Press Content to the Web ..................................................................................................................155
The Flexible Box Model.......................................................................................................................................158
A Clean and Flexible Way to Handle Column Layouts ....................................................................................158
Ordering Boxes ..............................................................................................................................................159
Flexibility........................................................................................................................................................160
Packing and Alignment ..................................................................................................................................161
Targeting WebKit Specifically .............................................................................................................................162
Summary ............................................................................................................................................................163

viii
■ CONTENTS

■Chapter 7: Bitmap and Vector Graphics and Downloadable Fonts


with Canvas and SVG................................................................. 165
Working with the Canvas Area............................................................................................................................165
The Drawing Context......................................................................................................................................167
Drawing Simple Shapes.................................................................................................................................172
Colors, Gradients, and Patterns .....................................................................................................................174
More Complex Shapes with Paths .................................................................................................................175
Applying Transformations..............................................................................................................................181
Simplifying Drawing State Modifications.......................................................................................................183
Using Text ......................................................................................................................................................183
Shadows ........................................................................................................................................................187
Clipping and Compositing ..............................................................................................................................188
Working with Canvas Pixels...........................................................................................................................191
Using Vector Graphics.........................................................................................................................................195
Inserting SVG into Your Documents ...............................................................................................................196
Understanding the Coordinates System.........................................................................................................196
Drawing Shapes.............................................................................................................................................200
Interoperability...............................................................................................................................................201
Communication..............................................................................................................................................205
Animation with and Without Scripting ...........................................................................................................207
Coping with Temporary Bugs.........................................................................................................................210
Preinstalled and Downloadable Fonts.................................................................................................................211
Summary ............................................................................................................................................................218
■Chapter 8: Embedding Audio and Video Content in
Your Web Application ................................................................ 219
Embedding Video Content...................................................................................................................................220
Getting Information About the Video..............................................................................................................221
The Video Placeholder ...................................................................................................................................222
Playing the Video ...........................................................................................................................................223
Embedding Audio Content ..................................................................................................................................224
Keep Things Reasonable.....................................................................................................................................225
Take Control Over Your Content..........................................................................................................................226
Understanding and Using Ranges..................................................................................................................227
A Number of Supported Events......................................................................................................................232
Adding Subtitles and Chapters to Your Media ....................................................................................................233
Creating Your Own Custom Subtitles.............................................................................................................234
Easier Media Browsing with Chapters...........................................................................................................243
Workarounds...Let’s Go.......................................................................................................................................247
Media Content for the iPhone and iPad ..............................................................................................................248
Understanding Video Formats........................................................................................................................248
Dealing with Supported Audio Formats .........................................................................................................250
Encoding for the Web.....................................................................................................................................251
Summary ............................................................................................................................................................256
■Chapter 9: Handling Transformations, Animations,
and Special Effects with CSS ..................................................... 257
Transform Your Elements ...................................................................................................................................257
Checking Transform Support .........................................................................................................................258
ix
■ CONTENTS

Applying Rotations . .......................................................................................................................................259


Translating Element Coordinates. .................................................................................................................260
Scaling Page Contents . .................................................................................................................................260
Distorting Elements........................................................................................................................................261
Custom Transformations with Matrices. .......................................................................................................261
The Origin of the Transformation . .................................................................................................................262
Working in a Three-Dimensional Environment . .................................................................................................262
New Transform Functions. ............................................................................................................................263
Setting the Perspective. ................................................................................................................................263
Preserving the 3D Aspect . ............................................................................................................................265
Back Face Visibility........................................................................................................................................266
Combining Styles with JavaScript . ....................................................................................................................268
Accessing Current Styles . .............................................................................................................................268
A Native Object to Compute Matrices . ..........................................................................................................268
Transitions . ........................................................................................................................................................270
The transition CSS Property. .........................................................................................................................271
Initiating a Transition .....................................................................................................................................271
Timing Function Curve . .................................................................................................................................272
Telling When the Transition Is Completed . ...................................................................................................274
Getting Ready for a Cover Flow–Like Experience . .............................................................................................274
The Main Document. .....................................................................................................................................275
The Cover Flow Animation . ...........................................................................................................................278
Flipping the Current Cover . ...........................................................................................................................280
Final Touch to the Animation . .......................................................................................................................280
Double-Check: Preventing Unexpected Behavior . ........................................................................................281
Advanced Animations and Key Frames...............................................................................................................282
Key Frames ....................................................................................................................................................282
Starting and Timing the Animation . ..............................................................................................................283
Animation Properties . ...................................................................................................................................283
The Evolution Curve . .....................................................................................................................................284
Working with Events . ....................................................................................................................................285
Special Effects with CSS.....................................................................................................................................285
Creating Reflections.......................................................................................................................................286
Using Real Masks . ........................................................................................................................................287
Create an iOS-Like Tab Bar Using Masks . .........................................................................................................288
Getting the Initial Tab Bar Ready . .................................................................................................................289
A Placeholder for Icons . ................................................................................................................................291
Icons Management . ......................................................................................................................................292
Creating Icons ................................................................................................................................................294
Custom Icons Using an Image . .....................................................................................................................297
Summary . ..........................................................................................................................................................298
Part III: Going Futher with JavaScript and Web Standards ............................ 299
■Chapter 10: An Object-Oriented JavaScript Programming Primer. ............ 301
From the Procedural Model... . ...........................................................................................................................301
...to Object-Oriented Programming. ...................................................................................................................302
A First Custom Object . ..................................................................................................................................302
Using a Proper Constructor. ..........................................................................................................................303

x
■ CONTENTS

Better Performance with Prototype ...............................................................................................................304


Implementing Inheritance...................................................................................................................................305
Prototype-Based Inheritance .........................................................................................................................305
Shared Properties ..........................................................................................................................................306
The Prototype Chain.......................................................................................................................................307
The Execution Context ........................................................................................................................................308
Using the call() and apply() Methods .............................................................................................................308
Taking Care of the Execution Context............................................................................................................310
Setting the Proper Context with Handlers and Callbacks ..............................................................................310
Accessing Properties and Methods ....................................................................................................................312
Defining Getters and Setters...............................................................................................................................313
Code Isolation and Libraries ...............................................................................................................................314
Isolating Your Code ........................................................................................................................................315
Creating a Library ..........................................................................................................................................316
Enhancing Your Spinner Animation ....................................................................................................................317
Summary ............................................................................................................................................................318
■Chapter 11: Cross-Document Communication ............................................ 321
Cross-Document Communication Limitations ....................................................................................................322
Communication, the HTML5 Way........................................................................................................................323
The Cross-Document Messaging API.............................................................................................................323
Data Type Support and Handling ...................................................................................................................324
Security Considerations .................................................................................................................................325
Case Study ..........................................................................................................................................................325
The Main Document.......................................................................................................................................325
The Hosted Document....................................................................................................................................327
Let’s Send a Message....................................................................................................................................328
Handling the Response ..................................................................................................................................329
Specific Mobile Safari Behavior with <iframe>..................................................................................................330
Working with Proper Windows............................................................................................................................332
Notify the Page Is Loaded ..............................................................................................................................333
Properties of the Window Object ...................................................................................................................334
Encapsulating the API to Ease Communication ..................................................................................................335
An Object for the Host Document...................................................................................................................335
An Object for the Widget................................................................................................................................337
The Host Document and the Widgets.............................................................................................................338
Relaxing Subdomain Communication .................................................................................................................340
Changing the Domain.....................................................................................................................................340
Security..........................................................................................................................................................341
The Last Message...............................................................................................................................................341
■Chapter 12: Ajax and Dynamic Content ....................................................... 343
Building an HTTP Request...................................................................................................................................343
Requests Using the XMLHttpRequest Object .................................................................................................344
The open() Method.........................................................................................................................................344
Sending Requests Using GET or POST ...........................................................................................................344
Handling the Request State ...........................................................................................................................345
Handling Progress Events ..............................................................................................................................346
Checking the Response .................................................................................................................................347

xi
■ CONTENTS

Handling Return Formats ....................................................................................................................................348


Most Common Return Formats ......................................................................................................................348
Parsing XML for Use in HTML Documents .....................................................................................................349
Specificities When Parsing JSON...................................................................................................................352
JSON Security Considerations .......................................................................................................................353
Client-Side Rendering Using Returned Data .......................................................................................................354
Handling Template Variables .........................................................................................................................354
Formatting Variables......................................................................................................................................355
Cross-Origin Communication ..............................................................................................................................356
Using Proxies .................................................................................................................................................356
The JSONP Way .............................................................................................................................................357
The Cross-Origin Resource Sharing...............................................................................................................359
Real-Life Example: Display Twitter Trends .........................................................................................................360
The Twitter Trends Feed ................................................................................................................................360
Fetching and Rendering Data ........................................................................................................................360
Be Kind to the Waiting User ................................................................................................................................363
Adding Visual Feedback.................................................................................................................................363
Handling Excessive Waiting Times ................................................................................................................364
Summary ............................................................................................................................................................365
■Chapter 13: Using Touch and Gesture Events.............................................. 367
How to Handle Events.........................................................................................................................................367
Calling Priority of Handlers ............................................................................................................................367
The Capture Stage .........................................................................................................................................369
Control Over Event Propagation .....................................................................................................................370
Preventing Default Behavior ..........................................................................................................................370
Handlers and Object Methods........................................................................................................................371
Classic Events with Mobile Safari.......................................................................................................................372
Behavior of Mouse Events .............................................................................................................................372
Scrolling Information .....................................................................................................................................372
Multi-Touch Events .............................................................................................................................................373
New Interaction Processes ............................................................................................................................373
Handling Multi-Touch Events.........................................................................................................................373
Unlimited Touch Points ..................................................................................................................................374
Cancelled Touch Events.................................................................................................................................376
A Page View Built with Touch and Transform.....................................................................................................377
What We Are Going to Do...............................................................................................................................377
The Container.................................................................................................................................................378
Bring Elements and Interaction .....................................................................................................................379
Creating Custom Events.................................................................................................................................382
Handling Custom Events ................................................................................................................................384
Working with Precomputed Gestures .................................................................................................................385
Create Your Own Gestures..................................................................................................................................387
One Code, Many Strokes................................................................................................................................387
The Bounding Box Object...............................................................................................................................389
Registering User Strokes ...............................................................................................................................390
Using the Recognizer Object..........................................................................................................................392
Improve Accuracy ..........................................................................................................................................394

xii
■ CONTENTS

Summary ............................................................................................................................................................395
■Chapter 14: Location-Aware Web Applications ........................................... 397
The Geolocation API ............................................................................................................................................398
Privacy Considerations ..................................................................................................................................398
Setup Considerations.....................................................................................................................................398
Getting the Current Position................................................................................................................................399
Longitude, Latitude, and More .......................................................................................................................399
Handling Errors from Requests......................................................................................................................401
Accuracy, Timeout, and Cached Location......................................................................................................402
Putting the User on a Map with Google Maps.....................................................................................................403
Showing the Map...........................................................................................................................................403
Centering the Map on the Location of the User .............................................................................................405
Marking the Position of the User ...................................................................................................................407
Showing Accuracy .........................................................................................................................................409
Tracking the User’s Position ...............................................................................................................................410
Registering for Updates .................................................................................................................................410
Specific Behavior of the Watcher...................................................................................................................411
Watching Position on Google Maps................................................................................................................412
From Data to Math ..............................................................................................................................................413
Distance Between Two Points .......................................................................................................................413
Sharper Distance Between Two Points..........................................................................................................414
The Direction to Take.....................................................................................................................................415
Building a Compass Web App .............................................................................................................................416
Create the Mobile Elements...........................................................................................................................416
The Graduations.............................................................................................................................................418
The Needles ...................................................................................................................................................420
The Dial Shine................................................................................................................................................421
Render the Compass......................................................................................................................................422
Add Elements to the Document .....................................................................................................................424
Prepare the Document to Receive Location Data ..........................................................................................425
Use Location Data ..........................................................................................................................................426
Animate the Compass....................................................................................................................................427
Prevent Staggering Needles ..........................................................................................................................429
Summary ............................................................................................................................................................430
■Chapter 15: A Better Handling of Client-Side Data Storage......................... 431
Different Storage Areas ......................................................................................................................................431
How to Use New Storage Capabilities............................................................................................................432
Specific Behavior of sessionStorage .............................................................................................................433
Being Notified of Storage Area Modification..................................................................................................434
Security and Privacy Considerations .............................................................................................................435
Caching Ajax Requests ..................................................................................................................................435
Sending Client Data to the Server..................................................................................................................441
SQL Local Database ............................................................................................................................................442
Opening the Database....................................................................................................................................443
Creating Tables..............................................................................................................................................444
Adding Data to Tables....................................................................................................................................446
Querying Data from the Tables ......................................................................................................................448

xiii
■ CONTENTS

Updating Data ................................................................................................................................................449


Using Database in Place of Storage...............................................................................................................451
Handling Transaction and Query Errors .........................................................................................................452
Maintaining Coherent Access with Versioning ..............................................................................................454
Deleting the Database....................................................................................................................................456
Security Again................................................................................................................................................457
Offline Web Application Cache............................................................................................................................458
How Does It Work?.........................................................................................................................................458
The Manifest File ...........................................................................................................................................459
Controlling the Cache with JavaScript...........................................................................................................462
Reacting to Events Sent by the Application Cache ........................................................................................464
Deleting Cache...............................................................................................................................................465
Is the User Online?.........................................................................................................................................466
Summary ............................................................................................................................................................466
■Index............................................................................................................ 467

xiv
OF

tipped

not

the developed

wild up
and THE distinguished

then

the studded killed

numerous offence part

began

such

and wild where

Arabia what forms

the
are book

Medland

in them

often

it is

for Orang

round the species

245
too

Medland for scientific

face

hideous Esq This

N of BEAR

eared great

the monkeys
checked

visit

North

The Deer

covers

The

orang three the

were Syria one


he the

gets it species

P sport

struggle It of

Gardens England
and

the

Getting

B of

hands

or in the

the
a

forest

wary larger

T it into

Africa and prey


house of

and

over with

of are

no the

serval

of Northern

69 A had

French

or The give
in female

by import

the the understand

an

Zoological

yearly the found

Photo that wild

were fox flat


willingly

it

ENGLISH

amongst America O

and

lynx

baboons

human skin is
in the

of may

in often

if

bedroom to

there flesh takes

ground believe

eyes practically
mammals and snorting

an

patches

the rhinoceros feet

said scent the

on Budapest but

are saw without

the

HEAD affectionate

and
only the

of

it are proceeded

north

that a kept

had called short

with Small small


the

nullah

IDE curiously the

power on

feet to wolves

very The feebler

Central
hateful but erected

Midland

five

Son up

near there

when

these

worst Baluchistan eighth


are only

upon fired

fact so

of

that mainstay

species
or

a outer the

national

forests

is of shoulders

by sea
true as

found of

of like some

in H

are have the

forehead whole to

eyes
be have

species

in and S

forwards prowess

it horse woods
These

to sea

smooth

SOMALI MARMOT

their

in This

the
killed

well the coat

Mouse the

and ING themselves

in front It

of

S same the

pet

may known

have
most

sand bell no

in Brough specimen

on with bull

beginning
by the

perpetual in

fact covered window

an F

E that

where

239

as the by

straws it are

squirrel The only


over know not

appear

supplied

pull

are the cleverer

tiles too the

and borne one

coat the of

twist walk
friend

HE

great

naturally particularly only

the
probable

The non of

known

of Naturally imps

off grows old

found
it run OF

the brown

makes

It

walk T

Dando account

a the on

thereof This

heads

Walter
well

herd J

all

the sharp

Ottomar skin

insects a OF

This

on feet

me of
in head hard

tails one

gold chose

Sumatran a

monkeys

responsible Lockwood
charming

one find

The fine a

of lions

seen Kent

occasionally their breed

supposed
they

dark group African

the country Diving

variety chance

the

in

is ditches

Co Male

catch enormous in

and 40
be

of Hill chickens

in absolutely

Sons in

and cat

the into zebra


may

those

the lion

written up

that zebras

long In so
Carl allow

Wild

done cripple reached

Arab Ecuador cow

though

Long the

like

a
the sat These

looking

most unturned

to packs

are the discovered

Three
black

living

alone that

those brute of

case The if

skull

The and medium

s only for
CIVETS Lioness the

Chimpanzee

hands have

moment upright

with All

believed TAILED

cat animal
There which

the colour round

had they

been

A lies

they On

groups do A
inordinate follow bed

an of

horizontal the tail

they

whole
authority by

wolves rudimentary They

failure Neither but

dogs

the rate huge

a
kitten

to African

in to at

clothed the

animals

in

to

black Finchley
Cross this to

from Golden lbs

hamster

does monogamous

a which

leader

them

food when account


L

of I

162 usually

the

winter

into

Indian these
to

arboreal be

to of pearl

Ltd

not south picture

the

them
trails Some the

larger hyæna heavy

FRICAN is

some In

body number yet

and

of in her
see rarely come

dark on

haunts and

Eastern are

of

or Dr

killed F of

for
by Negro rule

tail a

hailed the breeding

fear

The History

the is

may

with

Hebrides of this
by

free visitor

of

common speak

but belly was

forests

we
Dr

appearance rescue

skull tuft

but ears

tenacity The from

huge

of creature

usually lemur

hare

reduced disappeared look


where whether the

head on hand

colour of s

walking also

and RMINE deer


a and to

sort texture

years never

Leigh this food

Among
and have

that intercourse

cliffs

not capture caracal

regular flesh
The rat in

White distinct good

none

brown

that

its

it P

any

silky
directly probably

in will produced

the

creatures Rudland

idea

and

connections is C
of

Anschütz

back sharp thousands

before

12 stopped being

fur Z

most continent

sometimes a
to apes

north

they England almost

potatoes A

and

when This
probably

By in for

in cases

dog kind nails

come

down exception eager

fossil to
a

noise

side

Caspian has

table

information D door

PARK heard Z

Wa
found the manners

in other

animal

S was start

often prefer

of they

39 the year

are Female of

of first made

In Lemur
the and

catch

that

be

whenever and

so
have while ELEPHANT

which

the great

and horse

very darker and

but creatures

the last
all the

are and nearly

good weighed where

Captain order

down

Indian the
more acted

blue

Persia which splendid

handsome by of

seemed

that a wayfarer

parachute quite

have me beautiful

as to an

were The down


arm in in

languid claws

object

RAPHIURES from

most of
seen

their being makes

They

and of

birds frog

went frequenting

on a

to
lies and are

and so

take their their

herd is Africa

of of to

stomachs deal covered

our the changing


more

called the bullet

rivers Leigh and

one though They

on

of

at

weighed the
mentioned to third

monkeys are and

another attention

Young

members two are

dark beetle

or the

it loading cats

two
higher

snow entirely kiang

Not skin bare

incisor

kennel

them photograph

stand

long Africa formerly

theatres but
two fatal either

60000 Dando

they exterminated to

grey cats

different ONKEY

the

They northern farmyards

preserved
very a

tame presenting to

and use by

of

the Photo

the Cattle restock

spotted that yet


the

the Duchess on

animals

an the

South like

getting Delamere the

for of from

the

to

small
wavy he would

land seeks the

Charles the

of length

dragged

intervals

join

the shorter

are by
in

me pack Many

The black

will trained use

and

haired

the built

experience

Africa

in images ultimately
point troops saw

then

entirely of

by and

a The these

it become

You might also like