Cross-Browser Layers, Part One
Subject:   Author's response
Date:   2001-06-01 18:21:17
From:   budi
In client-side programming there are always two things: W3C recommendations and market facts.
Both, as we have been witnessing, don't go hand in hand. Cross browser compability is not yet a thing of
the present. As new standards come in, it often takes years to replace the old ones entirely.
That's why a large number of Web sites still support primitive browsers that
only render HTML 3.2, years after HTML 4.0 was released. The Microsoft ASP.NET,
for instance, will still support HTML 3.2 when it is released some time
in the future. When you need to use a feature not recognized by some browsers,
all you need to do is let the code degrade gracefully in these browsers, as the
article shows.

Netscape 6 does not support layers. That is unfortunate because it means
there is no provision for backward compatibility. But, are layers dead?
Let's see what the market says. According to one survey
(, on 31 May 2001), Netscape
are used by 17% of users and 2.4% of them use version
6, giving it a 0.408% of the market share, more than half a year after it was released.
Old Grandpa Netscape 3, on the other hand,
is still used by 3.9% of Netscape users, years after it was supposed to be dead. The users of
Netscape 4.x is 92.7% of all Netscape users, or 15.76% of Internet users.
The percentage of Netscape 4.x, IE 4.x and above (those browsers that understand
"layers") is 93.76%, or 98.76% if counting other compatible browsers.

Layers are a nice technology that can be used for submenus, absolute positioning,
animation, etc. Killing them prematurely is a total waste.

Full Threads Oldest First

Showing messages 1 through 4 of 4.

  • Author's response - short extra note
    2001-06-07 12:02:10  stignygaard [View]

    I just read this part one one more time, and got in dought...

    > Layers are a nice technology that
    > can be used for submenus, absolute
    > positioning, animation, etc.
    > Killing them prematurely is a total
    > waste.

    You are aware of Netscape 6 IS supporting layers, but not the NS4.x way of layers ? NS6 support layers the W3C-way. And so does does IE5+.

    You can't use the <LAYER> tag in NS4.x, and you can't use document.layers, but you CAN use <DIV> and you CAN use document.getElementById.

    • Author's response - short extra note
      2001-06-08 06:38:57  Budi Kurniawan | O'Reilly Author [View]

      Hi Stig,
      I am sure there are a lot of users who, like myself, find your comments inspiring. All that you said are right. Netscape 6 has its own way for layers. However, if you code layers for Netscape 6, Netscape 4.x users will feel abandoned. I am sure the newer "layer" will eventually be the de facto standard. How long it will take to replace the old technology entirely is for us to wait and see.
      • Author's response - short extra note
        2001-11-18 15:44:33  darknerd [View]


        I think you are making it sound way more complicated that it really is. Stig added other code snippets in article 2 to show just how simple it is to add W3C support.

        I don't quite understand your aversion to adding support for W3C DOM. There is no new added learning curve.

        By not added W3C support, just frustrates us newbies out there, who want to make their code simply work, not just on older incapable browsers, but also on newer exciting developments from IE6, NS6, Mozilla, and Opera5.

        - Joaquin
  • Author's response
    2001-06-07 11:51:30  stignygaard [View]

    Actually I agree very much in what you're saying: You can't ignore NS4.x and IE4 just yet. But you didn't mention the W3C standard at all in first part of your serie ! In my opinion you have to code for three platforms if you're coding DHTML today: IE4, NS4.x and the other more or less W3C compliant browsers (IE5.x, IE6, NS6, Opera 5, Konqueror 2.x,...). Yes IE5.x is still compatible with the IE4 model, and IE6 will problably be too, and the marketshare of NS6, Opera and Konqueror ain't that big. But I think it is important to think about tommorow too when developing today. First of all your DHTML code gets obsolete sooner or later; Both MS and Netscape/Mozilla seems to take the W3C standards very seriously now, and the small upcoming browsers like Opera and Konqueror do too.
    Besides its a matter of principle to me, to support a open standard that prevents the WWW to turn into a properiatary one-browser network...

    Actually the W3C standard isn't that hard to learn. Take your IE4 code and do a search-and-replace on document.all replacing it with document.GetElementById, and you're already pretty far ;-)

    Even if you choose not do any W3C code in your article series, I think you at least have to mention the subject. Learning people DHTML today without telling about the W3C standard is a bad idea in my opinion.