RE: MOA web page forms question

From: Leif Sawyer <lsawyer@gci.com>
Date: Thu Sep 09 2004 - 11:53:19 AKDT

Neil Moomey wrote:
>
> Where did you find that document.all is deprecated? I.E. 6.0
> supports it and my JavaScript 1.5 book shows it too. I think
> it's older browsers which don't support it. IE 3 and Nav 4
> for example. Netscape had a great idea but the browser
> companies turned JavaScript into a nightmare with their
> inconsistent implementations, enhancements, and bugs they
> refuse to fix.
>
>
http://devedge.netscape.com/library/xref/2002/client-data/property-data-docu
ment.html
Well, perhaps proprietary extension?

---
The [Mozilla] bug in question is 248549 (please do not flame Bugzilla). It
adds "undetectable" support for document.all,
Microsoft's proprietary equivalent to the standard document.getElementById.
Both methods are used for getting
and manipulating elements in a dynamic Web page. document.getElementById is
supported by Internet Explorer
version 5 and above, Gecko-based browsers (Mozilla & Firefox), Safari, and
Opera, whereas document.all is
introduced by IE 4.
The partial support will fix some legacy, Internet Explorer-only sites.
Currently, a Web page that blindly uses document.all
will break in Mozilla. The next version of Mozilla and Firefox will happily
display such a page (but complain 'Non-standard
document.all property was used. Use W3C standard document.getElementById()
instead.' silently in the JavaScript Console).
Web developers and standard pedants will be pleased to know that this does
not break standard-compliant sites; if a Web
page properly checks for support of .all, Mozilla will negate the check
(hence "undetected" support), allowing it to use
.getElementById instead.
Undetectable document.all support will not fix all IE-only problems. An old
page that checks for support of .all but then
use document.layers (which is Netscape 4-only) will not work. Some sites
check browser identifications (UA string) and
block anything that is not Internet Explorer or Netscape; for Mozilla to
work, the user has to tweak the UA string. It's
worth noting that IE 4 and Netscape 4 combined have less than 1% browser
market share, and many sites need code revamp.
A much better but slower solution is Tech Evangelism, a project for
persuading Webmasters to update old code and support
Mozilla.
-------
The correct way to do browser detection (for customizing JavaScript to the
browser) is to check for features
rather than for a browser. For example, to do stuff with layers in
JavaScript, use: 
     if(document.layers){ do things with 'layers'  }
To test for standards compliant browsers, use: 
     if(document.getElementById) { do things that work in IE, Mozilla or any
browser supporting getElementById }
To use the document.all object, check if it is supported rather than
checking for IE, the only browser that does support it:
     if(document.all){ do things with the document.all object}
----------
There is supposed to be a hidden preference to turn off this:
browser.dom.document.all.disabled
but putting that in my user.js doesn't seem to solve the problem.
It may not have made it down to the current moz/firefox release.
You might want to check CVS/nightly builds.
Leif 
-- Binary/unsupported file stripped by Ecartis --
-- Type: application/x-pkcs7-signature
-- File: smime.p7s
---------
To unsubscribe, send email to <aklug-request@aklug.org>
with 'unsubscribe' in the message body.
Received on Thu Sep 9 11:53:27 2004

This archive was generated by hypermail 2.1.8 : Thu Sep 09 2004 - 11:53:29 AKDT