## General information

Netscape developed the technology for the browser navigator 2.0, which was published in March 1996. At the beginning of the browser wars, frames were a modern technique that brought some advantages over other browsers. Competing techniques such as CSS and JavaScript, however, caused problems in the navigator and further development was discontinued when Internet Explorer and other browsers were able to unite a lot of the market shares. The Netscape Browser was transferred step by step into the open source Mozilla project. Support for the Netscape Navigator ended in March 2008.

## How it works

A frame is a section of an HTML document that can integrate and reference other documents. The frameset determines which frames are to be displayed together. It gets loaded by the frameloader. Several HTML documents and content elements of these documents could be displayed. Thus, there is not just one URL for an HTML site, as is customary on the Internet, but it is quite possible that a website contains several URLs. This feature of frames can be irritating to users, even if they have technical advantages. For example, if a navigation with menu structure is a single document, it is simply referenced in other pages so that the menu does not have to be reloaded every time a page is requested. External content elements can also be integrated with frame technology. An example of a simple HTML document that includes frames in the frameset definition:[2]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<HTML>
<TITLE>A simple frameset document</TITLE>
<FRAMESET cols="20%, 80%">
<FRAMESET rows="100, 200">
<FRAME src="inhalte_von_frame1.html">
<FRAME src="inhalte_von_frame2.gif">
</FRAMESET>
<FRAME src="inhalte_von_frame3.html">
<NOFRAMES>
<P>This frameset document contains:
<UL>
<LI><A href="content_of_frame1.html">Sample content</A>
<LI><IMG src="content_of_frame2 .gif" alt="An animated image">
<LI><A href="content_of_frame3.html">More sample content</A>
</UL>
</NOFRAMES>
</FRAMESET>
</HTML>

The use of frames poses difficulties for both search engines and users:

• On the other hand, search engines cannot read out frames, since they have no content at all. The frameset determines the content elements and documents to be referenced, but it does not contain any content. The content is located in the referenced sub-pages and not in the definition of the frameset or in the frameloader. Therefore, search engines cannot automatically process the framesets, evaluate them in terms of content, and assign them to an index. Search engines often don’t or inadequately understand the instructions on how the frame layout is to be built.[3]
• Noframes tags, which contain descriptive information about the documents and make it available to search engines, help solve this problem. Noframes tags allow you to specify alternative content versions for websites, so that users and search engines can still interact with these sites if frames are not loaded correctly. This makes HTML rendering possible, even if the browser or search engine spider does not support frames. User agents (for example, clients) that cannot process frames will receive an alternative version of the content.[4]

## Practical Relevance

From the viewpoint of usability, frames pose other problems. Under certain circumstances, compatibility issues may occur. The frameloader can load between three and five frames, without a screen reader mixing up the content elements or documents. As soon as several frames are used, the representation can become confusing. For mobile devices with small displays, the limit for the maximum number of frames is even lower, since there is not enough space for display. User interactions can sometimes become impossible, especially when sub-pages are called, but the navigation is in a different frame. In addition, the bandwidth of mobile devices is sometimes very heavily burdened by several client and server requests for the respective elements. A barrier-free use of frames is only possible if these difficulties are already taken into account during the development of a website.

## Relevance for programming

The use of frames, framesets, and frameloaders is no longer recommended on the World Wide Web. They should only be used if no alternative technology is available. In general, frames violate two central features of the modern Internet. On the one hand, they do not observe the principle that each URL should be assigned to a separate website and is thus referenced unambiguously. On the other hand, they do not follow the separation between content and layout, as is the case with well-formed HTML documents using the CSS layout. There are better possibilities for technical implementation for most application scenarios. If frames are to be used, it is recommended to respect the specifications from search engines and different usability rules. This includes, for example, the processing and optimization of the noframe areas with the corresponding meta tag, as well as a fundamental understanding of how frameloaders, framesets, and frames to be integrated actually work. Moreover, when external content is integrated, it may constitute an illegal “pirating of websites” and can result in legal consequences.

## References

1. How WebKit Loads a Web Page webkit.org. Retrieved on September 16, 2016
2. Frames w3.org. Retrieved on September 16, 2016
3. Frames support.google.com. Retrieved on September 16, 2016
4. Search Engines and Frames searchenginewatch.com. Retrieved on September 16, 2016