01501_ch04 - CarlPetersheim.us

Download Report

Transcript 01501_ch04 - CarlPetersheim.us

JavaScript, Fourth Edition
Chapter 4
Manipulating the Browser Object Model
Objectives
• Study the browser object model
• Work with the Window object
• Study the History, Location, and
Navigator objects
• Use JavaScript to refer to windows and frames
JavaScript, Fourth Edition
2
Understanding the Browser Object
Model
• Browser object model (BOM) or client-side
object model
– Hierarchy of objects
– Each provides programmatic access
• To a different aspect of the Web browser window
or the Web page
• Window object
– Represents a Web browser window or an
individual frame within a window
– Called the global object because all other
objects in the browser object model are
contained within it
JavaScript, Fourth Edition
3
Understanding the Browser Object
Model (continued)
JavaScript, Fourth Edition
4
Understanding the Browser Object
Model (continued)
JavaScript, Fourth Edition
5
The Document Object
• Document object
– Represents the Web page displayed in a
browser
– Has methods such as
• write() and writeln()
– Contains all elements on a Web page
• Including forms created with the <form> element
JavaScript, Fourth Edition
6
Referencing JavaScript Objects
• Some of the objects in the browser object
model represent arrays
– Such as frame[], forms[], or images[]
• To refer to a JavaScript object in code
– You must refer to all of the objects that contain
it, with the object names, separated by periods
• Example: Pine Knoll Properties Web site
– Six prewritten Web pages:
PineKnollProperties.html, colonial.html,
contemporary.html, cottage.html, ranch.html,
and townhouse.html
JavaScript, Fourth Edition
7
Referencing JavaScript Objects
(continued)
JavaScript, Fourth Edition
8
The Window Object
• Window object
– Includes several properties that contain
information about the Web browser window
– Contains methods that allow you to manipulate
the Web browser window itself
• self property
– Refers to the current Window object
– Using the self property is identical to using the
window property to refer to the Window object
• Web browser assumes you are referring to the
global object
JavaScript, Fourth Edition
9
The Window Object (continued)
JavaScript, Fourth Edition
10
The Window Object (continued)
JavaScript, Fourth Edition
11
Windows and Events
• The click and dblclick Events
– The click event is often used for anchor element
– Web browser handles execution of the onclick
event handler automatically
– You can override an anchor element’s automatic
onclick event handler
• Add to the <a> element an onclick event handler
that executes custom code
– The dblclick event works like the click event
JavaScript, Fourth Edition
12
Windows and Events (continued)
• The mouseover and mouseout Events
– Use the mouseover and mouseout events to
create rollover effects
– Rollover is an effect that occurs when your
mouse moves over an element
– mouseover event occurs when the mouse
passes over an element
– mouseout event occurs when the mouse moves
off an element
– One common use is to change the text that
appears in a Web browser status bar
JavaScript, Fourth Edition
13
Windows and Events (continued)
• defaultStatus property
– Specifies the default text that appears in the
status bar whenever the mouse is not positioned
over a link
• Example: Pine Knoll Properties Web site
– Add the defaultStatus property
• Common use of rollovers is to replace (or
swap) an image on a Web page
• The mousedown and mouseup events
– mousedown event occurs when you point to an
element and hold the mouse button down
14
JavaScript, Fourth Edition
Windows and Events (continued)
• The mousedown and mouseup events
(continued)
– mouseup event occurs when you release the
mouse button
• Example: Pine Knoll Properties Web site
– Modify the <img> element in the
PineKnollProperties.html document
• So the second image in the banner displays when
you hold the mouse over it
JavaScript, Fourth Edition
15
Opening and Closing Windows
• When a new Web browser window is opened
– A new Window object is created to represent the
new window
• Be familiar with how to open a link in a new
window by using the <a> element’s target attribute
• Example: Pine Knoll Properties Web site
– Open links in new windows
• Opening a Window
– open() method of the Window object
• Opens new windows in the strict DTD
JavaScript, Fourth Edition
16
Opening and Closing Windows
(continued)
• Opening a Window (continued)
– Syntax
window.open(url, name, options, replace);
– You can customize its appearance using the
options argument
JavaScript, Fourth Edition
17
Opening and Closing Windows
(continued)
JavaScript, Fourth Edition
18
Opening and Closing Windows
(continued)
• Opening a Window (continued)
– Example: Pine Knoll Properties Web page
• Links use the window.open() method instead
of the target attribute to open the URLs in a
separate page
– A Window object’s name property can be used
only to specify a target window with a link
• And cannot be used in JavaScript code
– Assign created window to a variable
• If you want to control it
– focus() method
• Makes a window the active window
JavaScript, Fourth Edition
19
Opening and Closing Windows
(continued)
• Opening a Window (continued)
– Example: Pine Knoll Properties Web page
• Add a focus() method to showProperty()
• Closing a Window
– close() method
• Closes a Web browser window
– window.close() or self.close()
• Closes the current window
– Example: Pine Knoll Properties Web page
• Add links to each of the property Web pages that call
the close() method
JavaScript, Fourth Edition
20
Working with Timeouts and Intervals
• Window object’s timeout and interval methods
– Creates code that executes automatically
• setTimeout() method
– Executes code after a specific amount of time
– Executes only once
– Syntax
var variable = setTimeout("code",
milliseconds);
JavaScript, Fourth Edition
21
Working with Timeouts and Intervals
(continued)
• clearTimeout() method
– Cancel a setTimeout() before its code
executes
• setInterval() method
– Repeatedly executes the same code after being
called only once
• clearInterval() method
– Used to clear a setInterval() method call
• Interval methods are most often used for
starting animation code
JavaScript, Fourth Edition
22
Working with Timeouts and Intervals
(continued)
JavaScript, Fourth Edition
23
The History Object
• History object
– Maintains an internal list (history list) of all
documents that were opened during current Web
browser session
• Security features
– Object will not actually display the URLs contained
in the history list
– In Internet Explorer this is only possible if the
currently displayed Web page exists
• In same domain as Web page containing JavaScript
code
JavaScript, Fourth Edition
24
The History Object (continued)
JavaScript, Fourth Edition
25
The Location Object
• Location object
– Allows you to change to a new Web page from
within JavaScript code
• Properties of the Location object allow you to
modify individual portions of a URL
– Web browser automatically attempts to open
that new URL
JavaScript, Fourth Edition
26
The Location Object (continued)
JavaScript, Fourth Edition
27
The Navigator Object
• Navigator object
– To obtain information about the current Web
browser
– Can determine which type of Web browser is
running
• with statement
– Eliminates need to retype the name of an object
• When properties of the same object are being
referenced in a series
JavaScript, Fourth Edition
28
The Navigator Object (continued)
JavaScript, Fourth Edition
29
The Screen Object
• Screen object
– Obtains information about the display screen’s
size, resolution, and color depth
• Common use of the Screen object properties
– To center a Web browser window in the middle
of the display area
• Example: Pine Knoll Properties Web page
– Property window is centered in display area
JavaScript, Fourth Edition
30
The Screen Object (continued)
JavaScript, Fourth Edition
31
Referring to Frames and Windows
• Learn how to refer to frames and windows from
within Web pages
JavaScript, Fourth Edition
32
Using the target and base Attributes
JavaScript, Fourth Edition
33
Using the target and base Attributes
(continued)
• target attribute
– Determines in which frame or Web browser
window a document opens
• Based on the value assigned to an <a> element’s
target attribute
• Or the value assigned to a <frame> element’s
name attribute
• Example: Pine Knoll Property Web page
– Work on a prewritten, frame-based version
JavaScript, Fourth Edition
34
Using the target and base Attributes
(continued)
JavaScript, Fourth Edition
35
Using the target and base Attributes
(continued)
• <base> element
– Used with the target attribute
– Specifies a default target for all links in a
document, using the assigned name of a
window or frame
• You must use the transitional DTD
• Example: Pine Knoll Properties Web page
– Modify the PropertiesList.html document so it
includes a <base> element instead of multiple
target attributes
JavaScript, Fourth Edition
36
The parent Property
• frames[] array contains all frames in a
window
• parent property of the Window object
– Refers to a frame within the same frameset
• Combined with the frame’s index number
• With nested frames
– Use the parent property and the name you
assigned to a frame with the <frame> element
– Nested frames are assigned to the frames[]
array in the order in which they are encountered
JavaScript, Fourth Edition
37
The parent Property (continued)
JavaScript, Fourth Edition
38
The parent Property (continued)
• Example: Pine Knoll Properties Web page
– Modify the PropertiesList.html document so the
links open in the right frame
JavaScript, Fourth Edition
39
The top Property
• top property
– Refers to the topmost window on a Web page
• When working with frames, the top property
refers to the window that constructed the
frames
• Example: Pine Knoll Properties Web page
– Modify the PropertiesList.html document so the
links are opened using the top property instead
of the parent property
JavaScript, Fourth Edition
40
Summary
• Browser object model (BOM) or client-side
object model is a hierarchy of objects
• Top-level object in the browser object model is
the Window object
• To refer to a JavaScript object in code, you
must refer to all of the objects that contain it
• Document object is arguably most important
object
• History object maintains a history list of all
the documents that have been opened
JavaScript, Fourth Edition
41
Summary (continued)
• Location object allows you to change to a
new Web page from within JavaScript code
• Navigator object obtains information about
the current Web browser
• with statement eliminates the need to retype
the name of an object
• Screen object obtains information about the
display screen’s size, resolution, and color
depth
JavaScript, Fourth Edition
42
Summary (continued)
• target attribute determines in which frame or
Web browser window a document opens
• Use the target attribute with the <base>
element to specify a default target for all links
• To refer to a frame within the same frameset,
use the parent property
• top property refers to the topmost window on a
Web page
JavaScript, Fourth Edition
43