Re: [comment] XMLHttpRequest Object - Address Extensibility

On 4/21/06, Jim Ley <jim@jibbering.com> wrote:
> This is very silly, the VendorMember scheme is entirely stupid, it's
> completely useless for authors, we can't do anything with it, and is much
> worse than simple invented terms that eventually get standardised.

Completely agreed. This is how we get ridiculous code like:

if (obj.MozFoo)
  obj.MozFoo = 0.7;
else if (obj.WebkitFoo)
  obj.WebkitFoo = 0.7;
else if (window.opera) // because Opera creates stubs for obj.*Foo
just to drive us insane
  obj.OperaFoo = 0.7
else
{
  try { obj.Foo = 70; } // ugh IE
  catch (e) { alert("No idea what's going on!"); }
}

> If vendor A creates a useful member, vendor B can't then copy the interface
> as they MUST prefix it with their Vendor string, when some WG eventually
> standardises it, authors now either have to ignore all existing clients and
> just support the standardised ones, or ignore the new clients - either way
> any UA that wants the code to run will have to support the silly old methods
> too (except they can't unless they're the member that invented it)

Agreed. Also, I think the "what if someone uses a good property name
for a lame implementation" isn't as much of a concern because we're
talking about major browser vendors, not any random paster.

> Extension requirements similar to ECMAScript would be a much more logical
> approach.

Seconded.

--
Brad Fults
NeatBox

Received on Saturday, 22 April 2006 03:12:11 UTC