JavaScript & DHTML Cookbook (2nd Edition)(1).pdf
(
3017 KB
)
Pobierz
754171582 UNPDF
SECOND EDITION
JavaScript & DHTML Cookbook
™
Danny Goodman
Beijing
•
Cambridge
•
Farnham
•
Köln
•
Paris
•
Sebastopol
•
Taipei
•
Tokyo
JavaScript and DHTML Cookbook
™
, Second Edition
by Danny Goodman
Copyright © 2007, 2003 Danny Goodman. All rights reserved.
Printed in the United States of America.
Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.
O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions
are also available for most titles (
safari.oreilly.com
). For more information, contact our
corporate/institutional sales department: (800) 998-9938 or
corporate@oreilly.com
.
Editor:
Tatiana Apandi
Production Editor:
Laurel R.T. Ruma
Proofreader:
Audrey Doyle
Indexer:
Ellen Troutman Zaig
Cover Designer:
Karen Montgomery
Interior Designer:
David Futato
Illustrators:
Robert Romano and Jessamyn Read
Printing History:
April 2003: First Edition.
August 2007: Second Edition.
Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of
O’ReillyMedia,Inc.The
Cookbook
seriesdesignations,
JavaScript and DHTML Cookbook
,theimageof
a howler monkey, and related trade dress are trademarks of O’Reilly Media, Inc.
Manyofthedesignationsusedbymanufacturersandsellerstodistinguishtheirproductsareclaimedas
trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a
trademark claim, the designations have been printed in caps or initial caps.
Whileeveryprecautionhasbeentakeninthepreparationofthisbook,thepublisherandauthorassume
no responsibility for errors or omissions, or for damages resulting from the use of the information
contained herein.
This book uses RepKover
™
, a durable and flexible lay-flat binding.
ISBN-10: 0-596-51408-5
ISBN-13: 978-0-596-51408-2
[M]
Table of Contents
Preface
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiii
1. Strings
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.1 Concatenating (Joining) Strings
4
1.2 Improving String Handling Performance
6
1.3 Accessing Substrings
7
1.4 Changing String Case
8
1.5 Testing Equality of Two Strings
9
1.6 Testing String Containment Without Regular Expressions
11
1.7 Testing String Containment with Regular Expressions
13
1.8 Searching and Replacing Substrings
14
1.9 Using Special and Escaped Characters
15
1.10 Reading and Writing Strings for Cookies
17
1.11 Converting Between Unicode Values and String Characters
20
1.12 Encoding and Decoding URL Strings
21
1.13 Encoding and Decoding Base64 Strings
23
2. Numbers and Dates
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
2.1 Converting Between Numbers and Strings
31
2.2 Testing a Number’s Validity
33
2.3 Testing Numeric Equality
34
2.4 Rounding Floating-Point Numbers
35
2.5 Formatting Numbers for Text Display
36
2.6 Converting Between Decimal and Hexadecimal Numbers
39
2.7 Generating Pseudorandom Numbers
41
2.8 Calculating Trigonometric Functions
41
2.9 Creating a Date Object
42
v
2.10 Calculating a Previous or Future Date
43
2.11 Calculating the Number of Days Between Two Dates
45
2.12 Validating a Date
47
3. Arrays and Objects
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
3.1 Creating a Simple Array
54
3.2 Creating a Multidimensional Array
56
3.3 Converting Between Arrays and Strings
57
3.4 Doing Something with the Items in an Array
59
3.5 Sorting a Simple Array
61
3.6 Combining Arrays
63
3.7 Dividing Arrays
64
3.8 Creating a Custom Object
65
3.9 Simulating a Hash Table for Fast Array Lookup
69
3.10 Doing Something with a Property of an Object
71
3.11 Sorting an Array of Objects
72
3.12 Customizing an Object’s Prototype
74
3.13 Converting Arrays and Custom Objects to Strings
79
3.14 Using Objects to Reduce Naming Conflicts
82
4. Variables, Functions, and Flow Control
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
4.1 Creating a JavaScript Variable
85
4.2 Creating a Named Function
89
4.3 Nesting Named Functions
92
4.4 Creating an Anonymous Function
93
4.5 Delaying a Function Call
94
4.6 Branching Execution Based on Conditions
97
4.7 Handling Script Errors Gracefully
101
4.8 Improving Script Performance
103
5. Browser Feature Detection
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
107
5.1 Detecting the Browser Brand
113
5.2 Detecting an Early Browser Version
113
5.3 Detecting the Internet Explorer Version
115
5.4 Detecting the Mozilla Version
116
5.5 Detecting the Safari Version
118
5.6 Detecting the Opera Version
119
5.7 Detecting the Client Operating System
120
5.8 Detecting Object Support
121
vi
|
Table of Contents
5.9 Detecting Object Property and Method Support
124
5.10 Detecting W3C DOM Standard Support
126
5.11 Detecting the Browser Written Language
127
5.12 Detecting Cookie Availability
128
5.13 Defining Browser- or Feature-Specific Links
129
5.14 Testing on Multiple Browser Versions
130
6. Managing Browser Windows
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
132
6.1 Living with Browser Window Control Limitations
135
6.2 Setting the Main Window’s Size
136
6.3 Positioning the Main Window
137
6.4 Maximizing the Main Window
138
6.5 Creating a New Window
139
6.6 Bringing a Window to the Front
143
6.7 Communicating with a New Window
144
6.8 Communicating Back to the Main Window
147
6.9 Using Internet Explorer Modal/Modeless Windows
148
6.10 Simulating a Cross-Browser Modal Dialog Window
151
6.11 Simulating a Window with Layers
158
7. Managing Multiple Frames
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
173
7.1 Creating a Blank Frame in a New Frameset
178
7.2 Changing the Content of One Frame from Another
179
7.3 Changing the Content of Multiple Frames at Once
181
7.4 Replacing a Frameset with a Single Page
182
7.5 Avoiding Being “Framed” by Another Site
183
7.6 Ensuring a Page Loads in Its Frameset
184
7.7 Reading a Frame’s Dimensions
187
7.8 Resizing Frames
188
7.9 Setting Frameset Specifications Dynamically
192
8. Dynamic Forms
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
194
8.1 Auto-Focusing the First Text Field
197
8.2 Performing Common Text Field Validations
198
8.3 Preventing Form Submission upon Validation Failure
204
8.4 Auto-Focusing an Invalid Text Field Entry
207
8.5 Using a Custom Validation Object
208
8.6 Changing a Form’s Action
213
8.7 Blocking Submissions from the Enter Key
214
Table of Contents
|
vii
Plik z chomika:
LukasChomik29
Inne pliki z tego folderu:
JavaScript The Definitive Guide (5th Edition)(1).chm
(2274 KB)
JavaScript & DHTML Cookbook (2nd Edition)(1).pdf
(3017 KB)
JavaScript Pocket Reference (2nd Edition)(1).chm
(102 KB)
Ajax For Dummies(1).pdf
(8163 KB)
Securing AJAX Applications(1).pdf
(1991 KB)
Inne foldery tego chomika:
ActionScript
Active Directory
Apache
ASP
BSD
Zgłoś jeśli
naruszono regulamin