Layers were the core of a method of dynamic HTML programming specific to Netscape 4. Each layer was treated as a separate document object in JavaScript. The content could be included in the same file within the non-standard <layer>
element (or any other element with the positioning set to "absolute" via CSS) or loaded from a separate file with <layer src="URL">
or <div src="URL"
. It could also be generated via JavaScript with the layer = new Layer()
constructor. The content would then be inserted into the layer with layer.document.write()
.
But in modern browsers, the functionality of layers is provided by using an absolutely-positioned <div>
, or, for loading the content from an external file, an <IFrame>
.
At the height of the Browser Wars, Netscape 4 and Internet Explorer had significantly different JavaScript implementations. Thus, layers could be used for browser detection. A JavaScript program would very often need to run different blocks of code, depending on the browser. To decide which blocks of code to run, a JavaScript program could test for support for layers, regardless of whether the program involved layers at all. Namely,
if (document.layers) {
// ...code that would be executed only by Netscape browsers...
} else {
// ...code that would be executed only by Internet Explorer...
}
References
- Netscape: Dynamic HTML in Netscape Communicator (On the Internet Archive)