Question:
How can you tell whether a Web page that a user loads is in a frame or not? If the page is not in a frame, I want to redirect the user to a frame.
Answer:
If you have access to JavaScript, testing if a Web page is in a frame or not and then redirecting is fairly simple. When you open up a Web page within a frame, the browser actually keeps track of all of the frames that are currently active. The containing frame (either the frameset for a framed site or the main window for a non-framed site) is kept internally in a property called “top”. You can then test in JavaScript whether the current frame is the top frame, and redirect accordingly:
The comparison in the if statement will only be true if the current window is not a part of a frameset.
(Note here that the window.top property has to do with parent relationships, and is otherwise unrelated to the DHTML top property usually associated with styles.)