Multiple Windows and Frames
Most of the client-side JavaScript examples we’ve seen so far have involved only a single window or frame. In the real world, JavaScript applications often involve multiple windows or frames. Recall that frames within a window are represented by Window objects; JavaScript makes little distinction between windows and frames. In the most interesting applications, there is JavaScript code that runs independently in each of several windows. The next section explains how the JavaScript code in each window can interact and cooperate with each of the other windows and with the scripts running in each of those windows.
Relationships Between Frames
We’ve already seen that the
open( )
method of the Window object returns a new
Window object representing the newly created window. We’ve also
seen that this new window has an opener
property
that refers back to the original window. In this way, the two windows
can refer to each other, and each can read properties and invoke
methods of the other. The same thing is possible with frames. Any
frame in a window can refer to any other frame through the use of the
frames
, parent
, and
top
properties of the Window object.
Every window has a
frames
property.
This property refers to an array of Window objects, each of which
represents a frame contained within the window. (If a window does not
have any frames, the frames[]
array is empty and
frames.length
is zero.) Thus, a window (or frame) can refer to its first subframe as ...
Get JavaScript: The Definitive Guide, Fourth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.