Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #32174

Re: custom event in IE

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups comp.lang.javascript
Subject Re: custom event in IE
Date 2017-01-12 14:22 +0100
Organization PointedEars Software (PES)
Message-ID <98979830.nniJfEyVGO@PointedEars.de> (permalink)
References (2 earlier) <4259298.GXAFRqVoOG@PointedEars.de> <drGdnYqmpYpK_unFnZ2dnUU7-bfNnZ2d@westnet.com.au> <20170110215212.00003a50@gmail.com> <1747068.usQuhbGJ8B@PointedEars.de> <20170111213145.00007f4c@James.Kirk.invalid>

Show all headers | View raw


James Kirk wrote:

> Thomas 'PointedEars' Lahn <PointedEars@web.de> wrote:
>> James Kirk wrote:
>> If the global object has no CustomEvent property in the MSHTML DOM,
>> then such a polyfill would be a possibility. If on the other hand it
>> has such a property but the value of it just cannot be called a
>> constructor, then the value would be a reference to a host object,
>> and it would be unwise to try to overwrite the value.
> 
> I would not agree with “unwise”, ill-advised perhaps, I suppose it
> really depends on what definition was intended. No argument intended.

It is unwise, not just ill-advised, to attempt to overwrite a property of a 
host object or a property of an object that refers to a host object.  With 
host objects, all bets are off:

From

<http://ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,
%201st%20edition,%20June%201997.pdf#page=33>

over

<http://ecma-international.org/ecma-262/5.1/index.html#sec-8.6.2>

to

<http://www.ecma-international.org/ecma-262/7.0/#sec-object-internal-methods-and-internal-slots>
 
> I did not intend to infer the usage of the Polyfill example verbatim.
> 
> Perhaps something similar to the following:
> 
> […]

The purpose here is to avoid the deprecated API, not to enforce its use.

<https://developer.mozilla.org/en-US/docs/Web/API/Event/initEvent>

>>> or testing in a similar fashion to that function.
>> You cannot determine whether a function can be called as a
>> constructor unless you try it.
> 
> No know evidence to refute that.

And that it is true is self-evident.
 
> In IE 11 typeof window.CustomEvent === 'object'. I am going to surmise
> the same for IE 9 & 10.

First of all, you need to consider versions of DOM implementations, not only 
browser versions.  Second, there is evidence that this is a jump to 
conclusions.  The referred object is a host object.  As you can see in 

<http://www.ecma-international.org/ecma-262/7.0/#sec-typeof-operator>

the “typeof” operation of a conforming implementation of ECMAScript 2016 
gives no indication whether the operand implements [[Construct]].

And the current version of JScript is not claimed to be a conforming 
implementation of ECMAScript 2016; it is claimed to be a conforming 
implementation of ECMAScript Ed. 5:

<https://msdn.microsoft.com/en-us/library/d1et7k7c(v=vs.94).aspx>

For those implementations, too, “typeof” gives no indication whether an 
object implements [[Construct]]:

<http://ecma-international.org/ecma-262/5.1/#sec-11.4.3>

And there is evidence that Microsoft’s claims about the standards compliance 
of several JScript versions are false:

<http://PointedEars.de/es-matrix/#features>
<https://msdn.microsoft.com/en-us/library/s4esdbwz(v=vs.94).aspx>

So, all bets are off.
  
> [url]http://caniuse.com/#feat=customevent[/url]

This is a Usenet newsgroup, not a Web forum.

> Presuming that support for anything older then IE 11 is not being
> handled.

You cannot make that assumption in a Web application yet.

> Is there a reason to redetermine if CustomEvent can be called
> as a constructor?

Yes.

-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

custom event in IE Andrew Poulos <ap_prog@hotmail.com> - 2017-01-10 12:08 +1100
  Re: custom event in IE Andrew Poulos <ap_prog@hotmail.com> - 2017-01-10 12:20 +1100
    Re: custom event in IE Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-10 02:45 +0100
      Re: custom event in IE Andrew Poulos <ap_prog@hotmail.com> - 2017-01-10 15:32 +1100
        Re: custom event in IE Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-10 12:53 +0100
          Re: custom event in IE Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-11 08:25 +0100
        Re: custom event in IE James Kirk <noneya.invalid@gmail.com> - 2017-01-10 21:52 -0500
          Re: custom event in IE Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-11 04:09 +0100
            Re: custom event in IE James Kirk <noneya.invalid@gmail.com> - 2017-01-11 21:31 -0500
              Re: custom event in IE Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-12 14:22 +0100
            Re: custom event in IE Scott Sauyet <scott@sauyet.com> - 2017-01-14 23:01 +0000
              Re: custom event in IE "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2017-01-15 09:51 -0800
                Re: custom event in IE Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-15 22:37 +0100
                Can we recognize Constructor Functions (was: custom event in IE) Scott Sauyet <scott@sauyet.com> - 2017-01-15 23:39 +0000
                Re: custom event in IE Scott Sauyet <scott@sauyet.com> - 2017-01-15 23:15 +0000
                Re: custom event in IE "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2017-01-15 22:36 -0800
                Re: custom event in IE Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-16 12:54 +0100
                Re: custom event in IE "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2017-01-16 14:18 -0800
                Re: custom event in IE Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-17 00:24 +0100

csiph-web