Frames
In a graphical Web browser, frames allow a Web-page author to keep parts of the window area fixed while loading pages into the remaining part of the window. You can use frames in your Web telephony application to create pages that contain menus that remain fixed while you replace other content and nested menus on the page. In a dual-access application, you can use frames to enhance the navigation experience for users of graphical Web browsers while maintaining smooth access for telephone callers.
In HTML, frames can be nested in two ways:
- By using a nested FRAMESET element inside another FRAMESET element. This approach is reflected only in the graphical appearance of the page, and has no impact on how the WTE renders the page.
- By using pages containing FRAMESET elements as the source page of a FRAME element. This is referred to below as "nested frames" and the "level" of the frame.
The following rendering rules apply to pages that contain frames.
- When first entering a FRAMESET page, the top-level frame collection is rendered first. For each level, the frames are rendered in the same order that they appear in the frames collection exposed by the WebBrowser object model (OM).
- If one of the pages contains a FRAMESET, the FRAMESET is rendered according to the same rules applied to the top-level frame.
- When a document in a collection has links or intrinsic controls, its index is declared as the static menu index. The index of the static menu page does not change even if the document itself changes. A FRAMESET page cannot be the static menu for its level.
- When the user chooses a link in the static menu, and the menu is loaded in one of the other frames, this frame is rendered. When the rendering of the page loaded in the frame is completed, the rendering continues according to the usual rules.
- When the static menu document is completely rendered, the level is completed. If this is the top level, all rendering is completed. If it is a lower level, the rendering of the previous level continues, as if the FRAMESET page contained a regular page whose rendering had completed.
- When a page which is not in the static menu index is completed, the rendering continues with the next index. When the last index is completed the rendering returns to the static menu index if there is one, or the level is completed if this level does not contain a static menu.
- Level state (the static menu index and the current index) is kept only for pages in the direct link between the current level and the top level. If the caller navigated from a frame that is not on the direct link between the current level and the top level and will return later to that FRAMESET level, the state is not kept and the frameset level is rendered as a new one.