search for books and compare prices
Tables of Contents for Professional Ie4 Programming
Chapter/Section Title
Page #
Page Count
Introduction
1
6
Part 1: Getting Started with IE4 and Dynamic HTML
7
158
Chapter 1: Introducing Internet Explorer 4
9
30
A Document-centric Computing Environment
10
13
Browser Integration with the Desktop
11
1
Webcasting and Offline Browsing
12
2
Webcasting
12
2
Channels
13
1
Subscriptions
13
1
Offline Browsing
14
1
The Active Desktop
14
2
Active Desktop Items
14
1
Active Themes
15
1
Channel Screen Saver
16
1
Multimedia controls
16
3
DirectAnimation
17
1
DirectShow
18
1
Filters
18
1
Communication Tools
19
2
Outlook Express
20
1
NetMeeting
20
1
NetShow
20
1
Dynamic HTML
21
2
Dynamic HTML in action
21
2
Scriptlets
23
1
Internet Client SDK
23
16
Activating the Internet
23
1
ActiveX
23
11
ActiveX Documents
24
1
ActiveX Scripting
25
3
Active Server Pages and Scripting
27
1
ActiveX Controls
28
6
The OBJECT Tag
30
2
Managing Downloaded ActiveX Controls
32
2
Java
34
5
Chapter 2: Formatting with Style Sheets
39
28
What is a Style Sheet?
39
3
Benefits of Style Sheets
40
1
General HTML Benefits
40
1
New Uses for Dynamic HTML
40
1
A style sheet example
40
2
Style Sheet Capabilities
42
14
Formatting Properties
42
5
Font Properties
43
1
Text Properties
44
2
Color and Background Properties
46
1
Supplementary Background Properties
46
1
Border Properties
47
1
Supplementary Border Properties
47
1
Positioning Properties
47
8
Intrinsic Positioning Properties of the Element
48
2
The Visibility Property
48
1
The Overflow Property
49
1
The Margin Property
50
1
Page/Container Location Properties
50
1
A Positioning Example
51
4
The Document Division Tag
53
1
Absolute Positioning of Divisions
53
2
Numeric Units with Style Sheets
55
1
Using Style Sheets
56
6
Specifying Properties and Values
56
1
The [DIV] Tag
57
1
Incorporating Styles into a Page
57
2
The Single [STYLE] Tag
57
1
Using [STYLE] with Individual Tags
58
1
The [LINK] Tag with Style Sheets
58
1
Using @import
59
1
More Style Sheet Features
59
2
Simple Inheritance
59
1
Contextual Selectors
60
1
Classes
60
1
Conflict Resolution (What does `Cascading' mean anyway?)
61
1
Specifying Your Own Style Sheet
61
1
Rendering the Page: Resolving Style Conflicts
62
1
The Style Object
62
2
The Style Object
62
1
The Style Object's Interface
62
2
Summary
64
3
Chapter 3: HTML Formatting and the Browser Object Model
67
28
The Organization of the Browser Object Model
67
5
What is the Browser Object Model?
68
1
Objects
68
2
An Object's Interface
69
1
Properties
69
1
Methods
69
1
Events
70
1
Collections
70
1
The Object Model in Action
70
2
The Object Model Diagram
70
2
Changes from the Internet Explorer 3.0 Object Model
72
1
The Wrox Dynamic HTML Reference Database
72
1
The Window Object
72
13
Properties
72
2
Methods
74
8
Dialogs
74
1
New Windows (Open, ShowModalDialog, and ShowHelp)
75
5
Open
75
2
ShowModalDialog
77
2
ShowHelp
79
1
Timers
80
1
SetTimeout and ClearTimeout
80
1
SetInterval and ClearInterval
81
1
Window Control (focus, blur, scroll)
81
1
Navigate
82
1
Events
82
1
OnLoad, OnUnload, onBeforeUnload
82
1
OnFocus and OnBlur
83
1
OnResize
83
1
OnHelp
83
1
OnScroll
83
1
OnError
83
1
The frames Collection
83
2
Accessing Collection Members by Index and Name
84
1
The Frame as a Window Object
84
1
Children of the Window Object
85
7
The Location Object
85
2
Properties
85
1
Methods
86
1
The History Object
87
1
The Navigator Object
88
2
Properties
88
1
Methods
89
1
Collections
90
1
The Screen Object
90
1
The Event Object
91
1
Summary
92
3
Chapter 4: The Document Object
95
32
Document and the Browser Object Model
96
2
An Overview of the Document Object
96
2
Changes from the Internet Explorer 3.0 Document Object
97
1
Document's Place in the Browser Object Model
97
1
The Document Object
98
12
Properties
98
5
Page Status
99
1
readyState
99
1
activeElement
99
1
The Cookie Property
100
1
Domains
101
1
Document Colors
101
2
Methods
103
3
Creating and Referencing Objects
103
2
createElement
103
2
elementFromPoint
105
1
Inline HTML Generation
105
1
The Query Methods and execCommand
106
1
Events
106
2
Mouse and Keyboard Events
107
1
Page Condition Events
107
1
onReadyStateChange
107
1
Data Binding
108
1
Collections
108
2
Page Text: The All Collection
109
1
Using Forms
109
1
Using Default Properties
110
1
Form Element Objects
110
1
Manipulating the Content of the Page
110
15
Why Do We Need to Change HTML Dynamically?
111
1
The New Text and HTML Properties
112
5
The Properties: An Example
112
2
innerText and outerText
114
1
The Difference Between innerText and outerText
114
1
innerHTML and outerHTML
115
1
Tag Support for Text Manipulation Properties
116
1
The New InsertAdjacent Methods
117
1
Details of the TextRange Object
117
7
TextRange Properties
118
1
TextRange Methods
118
2
Obtaining a TextRange
120
1
createTextRange
120
1
The Selection Object's createRange Method
120
1
The TextRange duplicate Method
120
1
Changing the Page Position of a TextRange
121
2
The collapse and expand Methods
121
1
The Six move Methods
121
1
The findText and setEndPoint Methods
122
1
TextRange Attributes
123
1
Changing Text Dynamically with pasteHTML
123
1
The Visible TextRange: scrollInto View and select
123
1
The Selection Object
124
1
The Methods of Selection
124
1
Summary
125
2
Chapter 5: Dynamic HTML Scripting Basics
127
38
What is Script?
128
3
Where Do You Place Your Script?
128
3
Creating Script Routines in a Page
130
1
What can Script do?
131
1
What are Events?
131
13
Events in Dynamic HTML
132
1
Reacting to Browser Events
132
4
Connecting Script to Events
133
2
Event Handling in VBScript
133
1
Event Handling in JavaScript
134
1
Handling Window Events in JavaScript
134
1
Canceling an Event Action
135
1
Responding to Events
136
4
Getting Information about an Event
136
3
Mouse Information and the Event Object
136
2
Key-press Information and the Event Object
138
1
Examining the Source of an Event
139
1
Examining an Element's Properties
139
1
Element Properties vs Style Properties
139
1
Event Bubbling
140
4
The Event Object's Control System
141
1
Bubbling Events to the Container Element
141
1
Finding the Source Element
142
2
The srcElement Property in Action
142
1
The cancelBubble Property in Action
142
1
The fromElement and toElement Properties
143
1
The return Value Property
143
1
Putting It All Together
144
18
Creating an Element Object -- the ID attribute
145
3
CSS Positioning
146
2
Events in the Toolbar
148
4
Event Bubbling in the Toolbar
149
3
Getting More Advanced
152
10
Creating a Tooltip
153
4
SetTimeout and ClearTimeout
153
4
Positioning the Toolbar
157
3
The Event Object Properties
157
3
Saving the Positioning -- Cookies
160
2
Summary
162
3
Part 2: Working With Databases
165
134
Chapter 6: An Introduction to Data Binding
167
30
The Data Access Evolution Cycle
168
6
Implementations of the Functional Model
168
6
Mainframe Based Centralized Access
168
1
UNIX, Smart Terminals, and More Centralized Computing
169
1
Graphical User Interface Hiding Centralized Data Access
170
1
Microcomputers As Terminal Emulators
171
1
Attempts to Decentralize: Client/Server Computing
171
1
The Web: Back to Centralized Computing with a Twist
172
1
Dynamic HTML and Data Binding -- Accelerating the Evolution
173
1
Data Binding -- The Basic Principles
174
12
The Overall Structure and Components
175
1
The Data Source Object
176
1
Tabular Data Control (TDC)
176
1
Remote Data Service (RDS)
176
1
The Data Consumers
176
6
The New Data Binding Attributes
176
1
The Data Bindable HTML Elements
177
5
The [A] Element
178
1
The [APPLET] Element
178
1
The [BUTTON] Element
179
1
The [DIV] Element
179
1
The [FRAME] Element
180
1
The [IFRAME] Element
180
1
The [IMG] Element
180
1
The [INPUT] Element
180
1
The [LABEL] Element
181
1
The [MARQUEE] Element
181
1
The [OBJECT] Element
181
1
The [SELECT] Element
181
1
The [SPAN] Element
181
1
The [TEXTAREA] Element
182
1
Data Presentation Formats
182
4
Single-Value Data Binding
182
1
The Concept of a Current Record
183
1
Tabular or Repeated Table Data Binding
183
3
Defining a Tabular Data Binding Template
184
1
Paging Data in a Table with Tabular Binding
185
1
The Format of Data Within a Repeated Table
185
1
Data Binding in Summary
186
1
The Tabular Data Control (TDC)
186
8
Embedding the TDC in a Page
186
3
Setting the TDC Parameters
187
1
Sorting the Data
187
1
Filtering the Data
188
1
TDC Methods
188
1
Other TDC Properties
188
1
TDC Events (or lack of)
189
1
A Repeated Table Data Binding Example
189
2
Adding the Table Definition
190
1
Viewing the Result
191
1
A Single-Value Data Binding Example
191
3
Modifying the HTML Source
191
1
Adding the Navigation Buttons
192
1
Adding the Navigation Script
192
1
Viewing the Result
193
1
Summary
194
3
Chapter 7: Case Study: A Searchable Booklist
197
32
Designing the BookList Application
198
17
The Problem Statement
198
1
High Level Design
199
2
Analyzing the Problem
199
1
The Data Schema
200
1
Sketching the Layout
200
1
Planning User Interactions
201
1
Detailed Logic Design
201
2
Divide and Conquer Using Frames
201
1
Parameterizing the TDC
202
1
The Data File
203
1
Coding the Dynamic HTML Solution
203
12
Implementing the Base Page
203
2
Implementing the Banner Frame
205
1
Implementing the Details Frame
205
2
Implementing the Menu Frame
207
1
Implementing the Search Frame Pages
208
7
The Search by Author Page
209
1
The Search by ISBN Page
210
1
The Search by Title Page
210
1
The Search by Series Page
211
1
The Search by Subject Page
212
1
The View All and Sort by Selected Field Page
213
2
Improving our Application
215
11
TDC Limitations: What's Wrong with BookList?
215
3
Working with One to Many Relationships
215
2
Getting Around One to Many Relationships
216
1
Limited Filter Criterion Capabilities
217
1
Static or Stagnant Recordsets
217
1
More Improvements to the Booklist
218
8
Incorporating HTML On-the-Fly from A Data Source
218
1
Adding Paging To Repeated Table Binding
219
6
Using a Global Page Size Variable
220
1
The nextPage and previousPage Problems
221
1
The nextPage and previousPage Cure
222
1
Getting the Total Number of Available Records
222
1
Getting the Number of the First Displayed Record
222
2
Using the Table's Rows Collection
224
1
Deciding Which Buttons to Display
224
1
Doing the Paging
225
1
Coping With Asynchronous Table Updating
225
1
Using the onreadystatechange() Event
225
1
Summary
226
3
Chapter 8: Databinding with RDS/ADC
229
38
Introducing RDS/ADC Data Binding
229
2
What is the Remote Data Service?
230
1
The RDS Data Access Tiers
230
1
The Advantages of RDS
231
1
Working with RDS Data Binding
231
15
Configuration of the Server
231
1
From TDC to ADC, and Back to TDC
231
4
Defining the BookList Database
232
1
Adding The TDC/RDS `Switching' Button
233
1
The New Switching Code
233
2
Connecting to the Data Source
233
1
Adding the Button to the Page
234
1
Handling the onclick Event
235
1
Using Multiple ADC Objects with RDS
235
1
Switching the Bound DATASRC On the Fly
235
1
Protecting the Data Source
236
1
Creating Read-Only Data Sources
237
1
Updating the Data Source with RDS
237
6
Single-Value Data Binding with RDS
237
2
Local Data Caching
238
1
The Employee Database
238
1
The Employee Database Application
239
3
Updateable Binding with a Checkbox Control
240
1
Updateable Binding with a Combo Box Control
240
1
Adding the Navigation Buttons
241
1
The Script That Makes It Work
242
1
Moving To The Previous And Next Record
242
1
Committing The Changes To The Server
243
1
Validating the Data on the Client
243
3
Handling Events In The Employee Application
243
3
Translating Rules into Event Handlers
244
1
The Changes to the Application Code
245
1
Summary of RDS/ADC Usage
246
4
RDS/ADC Properties Summary
246
1
RDS/ADC Methods Summary
247
1
RDS/ADC Events Summary
248
2
The onbeforeupdate Event
248
1
The onafterupdate Event
248
1
The onrowexit Event
248
1
The onrowenter Event
249
1
The onerrorupdate Event
249
1
The ondatasetchanged Event
249
1
The ondataavailable Event
249
1
The ondatasetcomplete Event
249
1
The onbeforeunload Event
249
1
Other Non-Data Binding Events
250
1
When Does Each Event Fire?
250
1
A Real RDS Data-Update Example
250
13
Simultaneous Multiple Read/Write Access
251
1
The ADC TinyChat Application
251
9
Using the TinyChat Application
252
1
The Data Structure of TinyChat
252
1
Implementing the TinyChat Application
253
2
Handling One-to-Many Data Relationships
253
1
Specifying the Parameters for the ADC Objects
254
1
Writing the Code for TinyChat
255
1
The Message Frame Page
256
3
Working With Unbound Data Source Objects
257
1
The Message Page Script
257
1
Scrolling the Latest Message Into View
258
1
Sending a Message
258
1
The Message Entry Frame and The Robot
259
1
The Message Entry Code
259
1
Programming The Robot
260
1
Unfinished Business: The Maintainer
260
2
The Maintainer HTML Code
261
1
The Maintainer Script Section
261
1
Improving TinyChat
262
1
Trying Out the Applications
263
1
Summary
263
4
Chapter 9: A Database Case Study using RDS
267
32
What is the Wrox DHTML Database?
268
1
Setting Up and Using the Application
269
5
The Application Requirements
269
1
Server Requirements
269
1
Client Requirements
269
1
Setting up the WroxDHTML Application
269
3
Configuring The ODBC Data Source
270
2
Using the WroxDHTML Application
272
2
Designing the WroxDHTML Application
274
7
The Specification
274
2
The Access Database File
274
2
The Link Tables
275
1
High Level Design
276
2
Data Schema
277
1
Sketch The Interface Layout
278
1
Planning User Interactions
278
1
Detailed Design Considerations
278
3
Microsoft Access as an ODBC Data Source
278
1
Creating Data Views Using Access Queries
279
1
Separating the Code Into Frames
280
1
A Tally of the ADCs
280
1
Building the WroxDHTML Application
281
14
The Main Frameset Page
281
2
The Banner Frame Page
283
1
The Menu Frame Page
283
1
The Menu Page Script
284
1
The Search Frame Pages
284
4
The Search by Object Page
285
2
Creating a Select List Dynamically
286
1
Reacting to the User's Selection
286
1
The Search by HTML Element Page
287
1
The Selection Frame Page
288
4
Creating the Selection Tables
288
2
The Script in the Selection Page
290
2
Reacting to a User's Selection
291
1
The Details Frame Page
292
3
The Details Page Script
293
2
Displaying Property, Method or Collection Information
294
1
Summary
295
4
Part 3: Advanced IE4 Programming Topics
299
266
Chapter 10: Dialogs, Text Manipulation, and Enhanced Forms
301
44
Dialogs, Text Ranges, and Text Properties and Methods
301
25
Custom Dialogs
301
2
Text Manipulation
303
3
HTML Element Properties
303
2
The TextRange Object
305
1
The Dynamic Text Page with Dialog Example
306
20
What the Sample Does
306
7
Changing Text on the Page
307
1
Fixing Mistakes and Finding Text
308
1
Viewing the Dialog
309
1
Changing Page Text
310
1
Adding and Modifying New Elements
311
2
How the Sample Code Works
313
1
The Main Page
313
7
The HTML of the Main Page
314
1
Loading the Page
315
1
How onKeyDown Handles the Non-Dialog Events
315
3
Showing the Dialog
318
1
Limiting Page Modification with CheckAncestry
319
1
The Dialog Page
320
5
Creating the Dialog with HTML
320
1
Dialog Initialization
321
1
Changing Text with innerText and innerHTML
322
1
Adding New Text with the InsertAdjacent Methods
323
1
Unloading the Dialog
324
1
Additional Example Notes
325
1
Why We Omitted outerText and outerHTML
325
1
Testing Dialogs
325
1
Using a Browser Window Instead of a Dialog
326
1
Working With Forms
326
17
Collecting Visitor Information
327
6
The Personal Information Feature
327
3
The userProfile Object
330
3
Executing the Read Requests
331
1
How the Example Page Works
332
1
Programming the userProfile Object
332
1
Building Client/Server Applications
333
10
A Sample Client-Side Front-end
334
1
New Tags and Attributes
335
3
Using a FIELDSET to Group Controls
335
1
Using the New Attributes
336
1
Using the New BUTTON Tag Variant
336
1
Using the New LABEL Tag
337
1
Positioning the Elements
337
1
The Script That Makes It All Work
338
5
Setting the Input Focus and Filling the List
338
1
Enabling and Disabling the Buttons
339
1
Adding and Removing Items from the Lists
339
1
Sorting the Selected Items List
340
2
Providing Help in a Web Dialog
342
1
Summary
343
2
Chapter 11: Introduction to Multimedia
345
40
What's New In IE4
345
1
Visual Filter Effects
346
28
Filters through CSS
346
1
Adding Filters to your Page
346
1
Script Control of Filters
347
1
Filter Effects
348
25
Alpha
349
2
Blur
351
2
Chroma
353
3
Drop Shadow
356
1
Shadow
356
2
Flip Horizontal
358
1
Flip Vertical
358
2
Glow
360
1
Grayscale
361
1
XRay
362
1
Invert
362
1
Lights
363
6
AddAmbient
364
1
AddCone
364
1
AddPoint
365
1
ChangeColor
365
1
ChangeStrength
365
1
Clear
366
1
MoveLight
366
1
Light Example
366
3
Mask
369
2
Wave
371
2
Filters Summary
373
1
Style Sheet Transitions
374
6
Transition Filters
374
1
Blend Transition
374
1
Reveal Transition
374
2
Reveal Transition Types
375
1
Using the Transitions
376
1
Step 1: Apply the Transition
376
1
Step 2: Change the object
376
1
Step 3: Play the Transition
377
1
Events
377
1
Example
377
3
Page Transitions
380
2
What Page Transitions Do
380
1
Using Page Transitions
380
1
Example
381
1
Summary
382
3
Chapter 12: Using IE4 Multimedia ActiveX Controls
385
62
DirectShow
385
11
The Active Movie multimedia control
386
3
ReadyStateChange Event
388
1
Settings
388
1
StateChange Event
388
1
Settings
389
1
IsSoundCardEnabled Method
389
1
Settings
389
1
Control implementation
389
7
Progressive downloads
390
1
Control manipulation
390
1
Simple Movie Player Example
390
2
Dynamic Properties Example
392
1
UI Implementation Example
393
3
Active Movie Issues
396
1
Direct Animation
396
49
Overcoming the Limitations of the Active Movie Control
397
1
Path Control
398
10
Properties
398
1
Path Methods
399
1
Control Methods
400
1
Rectangle Path
401
1
Oval Path
402
1
Polygon Path
402
1
PolyLine Path
403
1
Spline Path
404
1
Control Methods
404
1
Play Method
404
1
Pause Method
404
1
Stop Method
405
1
Seek Method
405
1
Bookmarks
405
1
Path Example
406
2
Sequencer Control
408
7
Action Sets
408
1
At Method
409
1
Play Method
410
1
Pause Method
410
1
Stop Method
410
1
Seek Method
411
1
Events
411
1
Properties
411
1
Sequencer Example
412
3
Sprite Control
415
9
Object Tag
415
1
Source Images
416
1
SourceURL Property
416
1
Simple Playback
417
1
Advanced Playback
417
1
Properties
418
1
Bookmark and Playback Control Methods
419
1
AddFrameMarker
419
1
AddTimeMarker
420
1
Playback Control Methods
420
1
Play
420
1
Pause
420
1
Stop
421
1
Seek
421
1
FrameSeek
421
1
Events
421
1
Sprite Example
422
2
Structured Graphic Control
424
12
Adding the Structured Graphic Object
425
1
Coordinate System
425
1
Drawing Methods
426
5
Arc
426
1
Oval
426
1
Pie
426
1
Polygon
427
1
PolyLine
427
1
Rect
427
1
RoundRect
428
1
SetFillColor
428
1
SetFillStyle
428
1
SetGradientFill
429
1
SetGradientShape
429
1
SetHatchFill
430
1
SetLineColor
430
1
SetLineStyle
430
1
SetFont
430
1
Text
431
1
Control Methods
431
1
Clear
431
1
SetIdentity
431
1
Rotate
431
1
Scale
432
1
Translate
432
1
Control Properties
432
1
Events
433
1
Metafile Converter
433
1
Structured Graphics Example
434
2
Structured Graphics -- The Drawing Surface
436
9
Simple Scripting of Primitives Example
438
1
Drawing Surface Methods
439
5
Transformations
439
2
DANumbers
441
1
Transformations Example
441
1
Composite Transformations
442
1
The graphics stack
443
1
Clock Hands -- Graphic Stack Example
443
1
Drawing Surface summary
444
1
Summary
445
2
Chapter 13: NetShow, Chat and the Agent Control
447
46
Installation of Controls
447
1
The Microsoft NetShow Control
448
12
About the NetShow Control
448
1
Basic Implementation
449
1
Properties, Methods and Events
450
6
Properties of the NetShow Control
450
4
Methods of the NetShow Control
454
1
Events of the NetShow Control
454
2
A NetShow Television Page
456
4
The [OBJECT] Tag
456
1
The Control Buttons
457
1
The Status Information
457
1
Responding to Button Clicks
457
1
Responding to Selection List Changes
458
1
Displaying the Status Information
458
1
The DisplayInformation Subroutine
459
1
Handling Errors While Playing a File
459
1
Creating Active Streaming Files
460
1
NetShow Control Summary
460
1
The Microsoft Chat Control
460
11
About the Chat Control
460
1
Basic Implementation
461
1
Inserting the Control into a Page
462
1
The Properties, Methods and Events
462
4
Properties of the Chat Control
463
1
Methods of the Chat Control
464
1
Events of the Chat Control
465
1
A Chat Control Demonstration
466
5
Inserting the Chat Control
467
1
Adding the Control Buttons
468
1
Joining a Chat Room
468
1
Canceling the Joining
468
1
Leaving a Chat Room
468
1
The onStateChanged() Event
469
1
Using Chat Commands
469
2
Kicking a User
469
1
Changing a User's Status
470
1
Getting a User's Real Name
470
1
Chat Control Summary
471
1
The Microsoft Agent Control
471
20
About the Agent Control
471
6
What Can Microsoft Agent Do?
472
1
The Agent in Action
473
4
Learning How Agent Works
477
8
Installing and Inserting the Agent
477
1
The Microsoft Agent Characters
477
1
The Agent Object Model
478
7
The Request Object
480
1
The Agent Object
480
1
The Characters Object
481
2
The Commands Object
483
1
The Balloon Object
484
1
Using the Microsoft Agent Control
485
5
The Hello World Example
485
2
Inserting and Connecting the Agent Control
486
1
Specifying the Character
486
1
Playing and Speaking Animations
487
1
Hiding the Character
487
1
Using Genie to Validate a Form
487
3
Why Use Form Validation?
487
1
Responding to Form Elements
488
1
Providing Commands
489
1
Agent Control Summary
490
1
Summary
491
2
Chapter 14: Dynamic HTML Scriptlets
493
46
What are Scriptlets?
493
9
Scriptlet Architecture
494
1
The Simple `Typing' Scriptlet
494
6
Defining The Scriptlet's Interface
496
2
Defining Properties
496
1
Defining Methods
497
1
Setting Properties and Calling Methods
497
1
The `Typing' Scriptlet Code
498
2
It's As Easy As That!
500
1
The Simple `Decorator' Scriptlet
500
2
Using Scriptlets in HTML Pages
502
4
Why Should You Use Scriptlets?
503
1
When Shouldn't You Use Scriptlets?
503
1
Internet Zones and Scriptlet Security
504
2
The Structure of a Scriptlet
506
12
The Body of a Scriptlet
506
1
The Script Section of a Scriptlet
507
4
Defining the Public Interface
507
2
Defining Methods and Events in JavaScript
508
1
Javascript vs VBScript
508
1
Ambient Properties
509
2
Accessing the External Object
509
1
Detecting When a Scriptlet is Running -- Our Custom InScriplet Variable
510
1
The Container Object
511
4
Handling Custom Events
512
1
Adding a Context Menu
512
3
Creating Dynamic Context Menus
513
2
Writing Our First Scriptlet
515
3
How It Works
516
1
Extending Our First Sample
517
1
Hosting a Scriptlet in a Web page
518
1
How Scriptlets Work Under the Hood
518
14
Writing Our Second Scriptlet
519
8
Coding the Clock Scriptlet
520
5
The Clock Interface Definition
523
1
Updating the Time
524
1
Stopping the Clock
524
1
Hosting the Clock Component
525
1
Adding an Alarm to the Clock Container Page
526
1
A Few Gotchas
527
5
Resizing the Scriptlet's Site
527
1
Canceling Scriptlet Events
527
1
Hidden Scriptlets
528
4
Changing the style.visibility Property
529
1
Changing the style.display Property
530
1
Resizing the Scriptlet
531
1
Matching in with the Host Page's Environment
532
1
Hosting Scriptlets in Desktop Applications
532
4
Using the Scriptlet Control
533
1
Managing `State Readiness' in Scriptlets
533
1
Specifying the URL
534
1
An Example in Visual Basic
534
2
Summary
536
3
Chapter 15: Client Server and ASP Programming
539
26
An Overview of Active Server Pages
539
2
How Active Server Pages Works
541
1
Example 1 -- To DHTML or not to DHTML?
541
5
Browser Capabilities Component
542
4
Using the Browser Capabilities Component
543
1
Providing Different Content to Different Browsers
544
2
Example 2 -- ASP and the Tabular Data Control
546
6
Active Server Pages and Databases
547
1
Creating an ODBC System Data Source
547
1
Integrating with the Tabular Data Control
548
4
Creating an ASP-based Book Info file
548
2
Using the New Book Info file
550
2
Example 3 -- Creating Simple Graphs with Structured Graphics and Active Server Pages
552
10
Retrieving the Data from the Database
552
2
Creating a Pie Chart using Structured Graphics
554
2
Integrating the Data with the Chart
556
6
Numbering the PARAM Line tags
556
1
Adding the Structured Graphics Control
557
1
Moving through the database
557
2
Coloring the Pie Chart
558
1
Drawing the Pieces of the Pie
558
1
Drawing the Legend Color References
559
1
Drawing the Legend Text
560
2
Summary
562
3
Part 4: Working with the Active Desktop
565
104
Chapter 16: Webcasting, Active Channels and Application Channels
567
34
Webcasting
567
10
Smart Pull vs True Push
568
1
Subscriptions
569
6
Subscribing to a Web Site
570
3
The Customization Wizard
570
3
Configuring a subscription
573
2
Working Offline
575
1
Disadvantages of Basic Webcasting
576
1
Active Channels
577
18
Active Channel User Interface
577
2
The Channel Pane and Channel Links
578
1
The Channel Definition Format Language
579
16
XML and SGML: The Parent Languages
580
1
CDF's Relationship to HTML
580
1
Microsoft CDF Generator -- Creating the CDF
581
4
The Structure of our Example Channel Site
581
1
Starting the CDF Generator
581
1
General Channel Information Dialog
582
1
Additional Information Dialog
583
1
Logos Dialog
583
1
Scheduling Dialog
584
1
Log Destination and Login Information Dialogs
584
1
Adding and Modifying Channel Items
585
2
How the CDF file works -- Step by Step
587
2
Document Header
587
1
The Main Channel
587
1
Providing a Title for the Top-Level Channel
588
1
Providing the Custom Images
588
1
Providing the Schedule
588
1
Creating our Sub-Channel
589
1
Creating our Items
589
1
Creating a Simple Web Channel
589
4
The Default Page
590
2
The First Topic Page
592
1
First Topic Part A and B Pages
592
1
The Second and Third Topic Pages
592
1
The ScreenSaver
593
1
Other Requirements
593
1
Installing the Channel
593
2
Advantages of Active Channels
595
1
Application Channels
595
4
Open Software Description
596
3
Application Channels in Action
597
2
Channel Information
597
1
The Software Distribution Channel
598
1
Title
598
1
Usage
598
1
Implementation
598
1
Summary
599
2
Chapter 17: The Wrox Custom Channel Example
601
38
An Overview of the Wrox Custom Channel Example
601
9
Installing the Wrox Custom Channel Example
602
2
Personal Web Server and Windows 95
603
1
IIS and NT Server
603
1
The Aim of the Example
604
1
Using the Example
605
5
Building the Wrox Custom Channel Example
610
26
Creating an Active Channel
611
1
Designing the Active Channels
611
1
Creating the CDF Files
611
1
Posting the CDF Files
612
1
Enabling Subscriptions to the Active Channels
612
1
Providing the Channel Links
612
2
Linking to the Channel Offerings Page
612
1
Linking to the Standard Channels
613
1
Linking to the Custom Channel Subscription Page
613
1
The Content Selection Page
614
6
Defining the Form
615
2
Writing the Code
617
3
The Wrox Channel Database
620
1
The Content Preview Page
621
15
Setting up the Script
621
5
Generating a Unique CDF File Name
622
2
Bringing in the Database
624
1
The Unit Table Fields
624
1
Getting the Results into an Array using GetRows
625
1
Retrieving the Channels and Items
626
5
Using Recursion to Expand and Output the CDF Structure
626
1
Tracing the Recursion
627
4
Generating the Preview and CDF File
631
3
Generating the Channel Preview
631
2
Generating the Item Preview
633
1
Finish off the Preview
634
1
The CDF Generation Routines
634
2
Summary
636
3
Chapter 18: True Web Integration and the Active Desktop
639
30
True Web Integration
640
5
The Active Desktop
645
6
The Active Desktop Settings Tab
646
2
Active Desktop Structure
648
3
Active Desktop Items
651
15
Building Active Desktop Items
651
1
Steps in Developing an Active Desktop Item
652
1
The Wrox Hot News Active Desktop Item
652
8
Downloading and Installing the Example
653
1
The Item Structure
653
1
The Item Divisions
654
2
The News Link Divisions
654
2
The Title and Footer Divisions
656
1
Working with the Divisions
656
4
Getting a Handle on the News Divisions
657
1
Dynamically Creating Event Handlers
658
1
Setting up the Default News Division Positions
659
1
Scrolling the News Items
659
1
Installing Our Item over the Internet
660
6
Creating a CDF File
661
3
Creating the Wrox HotNews CDF File
661
1
How It Works
662
1
Attributes of the USAGE element
663
1
Creating the Host Document
664
2
Starting the HTML Host Document
664
1
Showing the Item in the Host Document
664
1
Providing the Install Hyperlink
665
1
Providing Current News Topics
665
1
Summary
666
3
Appendix A: The Background to IE4 and the Active Desktop
669
28
Web Origins
670
5
Challenges & Risks
675
9
Microsoft and the Internet
684
10
ActiveX
691
2
The Active Platform
693
1
Summary
694
3
Appendix B: JavaScript Reference
697
16
General Information
697
1
Values
697
1
Variables
698
1
Assignment Operators
699
1
Equality Operators
699
1
Other Operators
700
1
String Operators
700
1
Comments
700
1
Input/Output
701
1
Control Flow
702
2
Built-in Functions
704
1
Built-in Objects
704
7
Reserved Words
711
2
Appendix C: The VBScript Language
713
18
Array Handling
713
1
Assignments
714
1
Constants
714
3
Error constant:
714
1
System Color constants:
714
1
Comparison constants:
715
1
Date and Time constants:
715
1
Date Format constants:
715
1
File Input/Output constants:
716
1
String constants:
716
1
Tristate constants:
716
1
VarType constants:
717
1
Control Flow
717
1
Functions
718
5
Conversion Functions
719
1
Date/Time Functions
720
1
Math Functions
720
1
Object Management Functions
721
1
Script Engine Identification
721
1
String Functions
721
2
Variable Testing Functions
723
1
Variable Declarations
723
1
Error Handling
723
1
Input/Output
723
3
MsgBox
723
3
InputBox
726
1
Procedures
726
1
Other Keywords
726
1
Visual Basic Run-time Error Codes
726
5
Appendix D: The Browser Object Model
731
24
The Object Model In Outline
731
20
The Objects in Detail
733
18
The Document Object
733
3
The Event Object
736
1
The History Object
737
1
The Location Object
737
1
The MimeType Object
738
1
The Navigator Object
738
1
The Screen Object
739
1
The Selection Object
739
1
The Style Object
740
5
The StyleSheet Object
745
1
The TextRange Object
746
1
The Window Object
747
4
HTML and Form Controls Cross Reference
751
4
Appendix E: Style Sheet Properties
755
18
Units of Measurement
755
1
Listing of Properties
755
18
Font Properties
756
1
Color and Background Properties
757
2
Text Properties
759
3
Size and Border Properties
762
6
Printing Properties
768
1
Filter Properties
768
2
Other Properties
770
1
Unsupported CSS Properties
771
2
Appendix F: CDF and OSD Reference
773
18
CDF and OSD Element Syntax
773
1
CDF File Structure
774
2
OSD File Structure
776
2
Elements used in CDF and/or OSD Files
778
13
Appendix G: Remote Data Service Reference
791
14
Part 1 -- The ADO Recordset Object
791
1
Methods of Recordset Object
791
1
Properties of Recordset Object
792
1
Part 2 -- "Adcvbs.inc" ADC Scripting Constants file
792
1
Part 3 -- How ADC Works
793
12
RDS in a Nutshell
793
2
RDS in Glorious Detail
795
1
The Client-Side RDS Components
796
2
The Server-Side RDS Components
798
2
The Promise of Universal Data Access
800
5
Appendix H: Special Characters in HTML
805
6
Appendix I: Support and Errata
811
8
Finding an Errata on the Web Site
812
2
Adding an Errata to the Sheet Yourself
813
1
E-mail Support
814
2
Customer Support
815
1
Editorial
815
1
The Author(s)
815
1
What we can't answer
816
1
How to tell us exactly what you think!
816
3
Index
819