Just for people wanting to switch over. what is a W3C sanctioned replacement that does the same thing as Layer? can you use the same code just subsitute the new call for the layer tags?
Jason Johnston wrote: > > Whoa, whoa! The old Netscape 4.x document.layers DOM is not supported > by Mozilla or Netscape 6, never has and never will be. You must use the > W3C DOM (http://www.w3.org/DOM/) instead. See > http://developer.netscape.com/evangelism/docs/articles/updating-dhtml-web-pages/ > for a good introduction. > > Sean wrote: > > Ok, > > > > Now let's try it with a layer and see if it still works! > > > > I get no errors from the concole and no output to the screen > > in Mozilla, but again this is ok in Netscape 4.7x. > > > > If I'm doing something stupid please point it out! > > > > Sean > > > > <html> > > <head> > > <title>Layer Test</title> > > <script language="JavaScript1.2"> > > > > docText = ''; > > var CR = String.fromCharCode( 13 ); > > var depth = 0; > > var docText = '<h1>Menu</h1>' + CR; > > > > function Node( name, data, url, pRef ) { > > > > this.name = name; > > this.data = data; > > this.url = url; > > this.pRef = pRef; > > this.kids = new Array(); > > this.add = addKid; > > this.paint = paintNode; > > this.toggle = toggleNode; > > this.dump = dumpNode; > > > > }; > > > > function addKid( p, k ) { > > > > var subscripts = new Array(); > > subscripts = p.split( ',' ); > > pRef = 'menu'; > > for ( var i in subscripts ) { > > if ( subscripts[ i ] !='' ) { > > pRef = pRef + '.kids[' + eval( subscripts[ i ] ) + ']'; > > }; > > }; > > pRef = pRef + '.kids'; > > kids = eval( pRef ); > > var temp = new Array( ( kids.length + 1 ) ); > > if ( kids.length > 0 ) { > > for ( var i in kids ) { > > temp[ i ] = kids[ i ]; > > }; > > }; > > temp[ kids.length ] = new Node( k, 1, k + '.html', pRef + '[' + > > kids.length + ']' ); > > eval( pRef + ' = temp' ); > > eval( k + ' = kids.length' ); > > > > }; > > > > function paintNode() { > > docText = docText + '<br>'; > > if ( depth > 0 ) { > > for ( i = 0; i < depth; i++ ) { > > docText = docText + ' '; > > }; > > }; > > > > if ( this.kids.length != 0 ) { > > docText = docText + '<a href="JavaScript:' + this.pRef + > > '.toggle();rePaint();"><b>' + this.name + '</b></a>' + CR; > > } else { > > docText = docText + '<a href="' + this.url + '">' + this.name + > > '</a>' + CR; > > }; > > > > if ( this.data > 0 ) { > > depth = depth + 1; > > for ( i in this.kids ) { > > this.kids[ i ].paint(); > > }; > > depth = depth - 1; > > }; > > }; > > > > function toggleNode() { > > this.data = ( ( this.data + 1 ) % 2 ); > > }; > > > > function dumpNode() { > > alert( 'name: ' + this.name + ' data: ' + this.data + ' url: ' + > > this.url + ' kids: ' + this.kids.length ); > > for ( i in this.kids ) { > > this.kids[ i ].dump(); > > }; > > }; > > > > // build the menu > > menu = new Node( 'root', 1 , 'root' ); > > menu.add( '', 'Evaluation' ); > > menu.add( 'Evaluation', 'History' ); > > menu.add( 'Evaluation', 'Physical' ); > > menu.add( 'Evaluation', 'Laboratory' ); > > menu.add( 'Evaluation', 'Imaging' ); > > menu.add( 'Evaluation,Imaging', 'Radiology' ); > > menu.add( 'Evaluation,Imaging', 'Ultrasound' ); > > menu.add( 'Evaluation,Imaging', 'CT' ); > > menu.add( 'Evaluation,Imaging', 'MRI' ); > > menu.add( 'Evaluation,Imaging', 'Angiography' ); > > menu.add( '', "Therapy" ); > > > > function rePaint() { > > > > docText = ''; > > // paint the menu > > for ( i in menu.kids ) { > > menu.kids[ i ].paint(); > > }; > > > > if ( navigator.appName == "Netscape" ) { > > > > // write the page to the frame > > with ( document.xmenu.document ) { > > close(); > > open( "text/html", "replace" ); > > writeln( docText ); > > close(); > > }; > > }; > > if ( navigator.appName == "Microsoft Internet Explorer" ) { > > xmenu.innerHTML = docText; > > }; > > }; > > > > </script> > > </head> > > <body bgcolor=white onLoad="rePaint();"> > > <script language="JavaScript1.2"> > > > > if ( navigator.appName == "Netscape" ) { > > document.write( '<LAYER NAME="xmenu" LEFT=8 width=256 > > BGCOLOR=white></LAYER>' ); > > }; > > > > if ( navigator.appName == "Microsoft Internet Explorer" ) { > > document.write( '<DIV ID="xmenu"></DIV>'); > > }; > > > > </script> > > > > </body> > > </html> > > -- --------------------------------------------------------------------------- Phillip M. Jones, CET |MEMBER:VPEA (LIFE) ETA-I, NESDA,ISCET, Sterling 616 Liberty Street |Who's Who. PHONE:276-632-5045, FAX:276-632-0868 Martinsville Va 24112-1809 |[EMAIL PROTECTED], ICQ11269732, AIM pjonescet --------------------------------------------------------------------------- If it's "fixed", don't "break it"! mailto:[EMAIL PROTECTED] <http://www.kimbanet.com/~pjones/default.htm> <http://www.kimbanet.com/~pjones/america/default.htm> <http://www.kimbanet.com/~pjones/message/default.htm> <http://home.kimbanet.com/~pjones/birthday/index.htm>