So far as I can see from a quick test, it remains the same as in NS 4.X.
That's not quite true. Netscape 6 is "way" different from any previous versions. Thankfully it is on the road to being more Standards complient than any other Browser currently available. Still a few bugs to work out though. Apparently they were more concerned with meeting a Release Date, than they were in providing a really nice Browser.
A sampling of bugzilla bugs, that affect Navigator's standards compliance include:
And to answer "goughb" question:
- #40828: The padding of cells in HTML tables is lost when the table is hidden and reshown using the CSS and DOM standards. A fix is available for this bug, but has been refused by the PDT. The discussion of this bug includes an impassioned plea from a developer for the fix to be included in Navigator 6.0.
- #57634: HTML <DL> elements may not be nested within <DD> elements. Although this practice is common, and a fix for the bug is available, Netscape will not fix this bug for Navigator 6. Instead, they will simply document it in the release notes.
- #58753: The Document.referrer property (specified by DOM Level 0) is not correctly implemented.
- #9850 The DOM method createEntityReference() does not function.
- #48031: The DOM methods removeChild() and replaceChild() can crash the browser. There is a patch available for this bug, but it will not be applied for Navigator 6.0.
In Netscape v4.x there are Browser specific tags ( specifically: document.layers and <LAYER> ) that is "not" Standards complient. Yet many people used it in their code. Now with v6.0 getting rid of previous Netscape "Browser specific code" and conforming more to Standards, it's easy to see that the Browser is not at fault. Other faults Yes, but the less "Browser specific code" people have to worry about, the better.
Here's an example script for hiding/unhiding DIVs. Just pass it the ID of a DIV and it toggles the DIV:
if (document.layers) //OLD SCHOOL NETSCAPE (4.0)
visible = 'show';
hidden = 'hide';
obj = document.layers[divname];
else if (document.all) //OLD SCHOOL IE (4.0)
visible = 'visible';
hidden = 'hidden';
obj = document.all(divname).style;
else if (document.getElementById) //NEW IE5+ && NETSCAPE 6
visible = 'visible';
hidden = 'hidden';
obj = document.getElementById(divname).style;
if (obj.visibility == visible)
obj.visibility = hidden;
obj.visibility = visible;
As you can see, using "document.getElementById" is Standards complient and works in both newer versions of IE & Netscape. By adopting the above, code can be re-written for all Browsers and help people get into the habit of coding to Standards.
Not to say that some of the Browser specific code isn't pretty nifty (filters in IE for another example) but we should always code pages so that they work fine in any Browser, and the ones that will display Browser specific code, will. This way pages degrade nicely, will show cool code if able to, and above all - will not break in version "whatever" of a Browser.
The majority of the problems with most Web sites, is that people code to the "Browser" rather than to the Standards. A lot of code will have to be changed as each new Browser version, becomes more & more Standards complient, and Browser specific code becomes less & less.
A lot of people are now looking at having to re-write their code to make it render properly in NN6, and that is as it should be. They will still have the problem of figuring out "how to" code for backwards compatibility and that's where the above example code will come in handy.
Code to Standards or code to Browsers, but know that Standards will win - everytime.
Excellent.. Thank You!
Some great information, there, Rob. Thank you.
No sweat guys. Glad you found the information helpful. :D
I'm trying to pass the ID like this...
<a href=# onMouseOver="reveal(mylayer)">Toggle my layer</a>
Here's my div...
<div id="mylayer" style="position:absolute; visibility: hidden; left: 5; top: 250">
In the past I've used the dreamweaver "MM_showHideLayers" funtions which naturally do not work in N6.