- From: Hallvord R. M. Steen <hallvord@opera.com>
- Date: Mon, 29 Jan 2007 15:40:42 +0100
- To: "Maciej Stachowiak" <mjs@apple.com>, "Charles McCathieNevile" <chaals@opera.com>
- Cc: "Anne van Kesteren" <annevk@opera.com>, "Web API WG (public)" <public-webapi@w3.org>
On Mon, 29 Jan 2007 06:54:04 +0100, Maciej Stachowiak <mjs@apple.com> wrote: > * - This seems unlikely in any case since they are Document methods; and > surely things like getAttribute and setAttribute exist in non-DOM code, > but thanks to the magic of object oriented programming and the fact that > such names are class-scoped this is not a big problem Maybe not a big problem but it is still a problem because of the wonderful "with" statement. I remember a BT.com CC number validation script break because they did with(document.forms[0]){ prefix='foo'; // clashes with element.prefix } and yesterday or so the same issue prevented form submission in Opera on a site where someone did with(input){ var pattern='foo'; // clashes with WebForms2 input.pattern } It would be nice to have the get() / getBySelector() method on Node as well (like getElementsByTagName is) and then I'm absolutely sure we'll run into pages that say <script>function getAll(){ ... }</script> <body onload="getAll() /* um, you meant YOUR function and not body.getAll()? sorry, you're dead. */"> So a longer and more descriptive name and less web evangelism and patching efforts :-) -- Hallvord R. M. Steen Core QA JavaScript tester, Opera Software http://www.opera.com/ Opera - simply the best Internet experience
Received on Monday, 29 January 2007 14:40:01 UTC