A Page is identified by a URL and it can be an HTML document, a text document or a document consisting only of an image or multimedia file. Webster maintains only one copy of any page in cache. However, a page containing an HTML FRAMESET may contain multiple FRAME elements referencing the same URL. When such a FRAMESET page is the current page, temporary logical copies of the page associated with that URL are created. For example:
<FRAMESET cols=50%,* rows=*,100>
<FRAME SRC="http://example.com/SamePage.htm" name =f1a>
<FRAME SRC="http://example.com/SamePage.htm" name = "f1b">
<FRAME SRC="http://example.com/frame2a.htm" name ="f1c">
<FRAME SRC="http://example.com/frame2b.htm" name = "f1d">
</FRAMESET>
In this case, two logical instances of the page associated with the URL "http://example.com/SamePage.htm" are created. They share most characteristics including status and content (since they refer to the same physical page) but are rendered in different FRAME windows. The unique ObjectHandle associated with each instance of the page can distinguish such pages.
The current page is the page specified by the PageURL and PageObjectHandle properties. It may the visible page or the pending page.
The visible page is the same as the current page except when the current page is still pending, which is the state when the current page is in the process of being navigated to but there are still no text or images available to display.
When the current page is pending, the page being replaced remains visible until the pending page is ready to become visible. While the current page is pending, the Reload/Stop button blinks a three-dot pattern.
An empty page is created and placed in the page cache when navigation to a URL is requested and no page is found in cache for that URL. Data for that page is then loaded from the source specified by the URL. If the page load fails completely, the page will contain no data but will remain in cache as a placeholder to maintain status. Use DismissPage to remove unwanted pages from cache.