7.4 Replacing a Frameset with a Single Page
NN 2, IE 3
7.4.1 Problem
You want a script statement
in one frame to replace the frameset with a new document, such as
removing your frameset to make way for an entirely different web
site.
7.4.2 Solution
Assign the URL to the topmost parent of the frame hierarchy:
top.location.href="newPage.html";
This is the scripted equivalent of the following hyperlink
specification:
<a href="newPage.html" target="_top">...</a>
Use the scripted version only if you are performing some other script
activity leading up to the replacement, or you need your page to
validate to the XHTML strict DTD, which forbids the
target attribute.
7.4.3 Discussion
You could reference the parent frameset instead of
the top in a simple frameset. In this instance, a
reference to the top and parent
framesets points to the same object. But if you specify the topmost
frameset, you are guaranteed removal of any vestiges of earlier
framesets, especially if the script is potentially running within a
nested frameset. That includes a frameset from an origin other than
your own domain and server.
7.4.4 See Also
Recipe 7.5 for how to use this technique to prevent your site from
being displayed in another site's frameset.
|