From: Thomas 'PointedEars' Lahn on
Sean Kinsey wrote:

> Thomas 'PointedEars' Lahn wrote:
>> I have looked at it, and what you are saying appears to be unlikely.
>> For a start, for this statement to have a chance to become true, he
>> would need to stop using features that are not universally available,
>> and stop misusing proprietary properties of host objects.
>
> If you are referring to the easyXDM library, could you elaborate on
> this?
> Why should it not use features that is not universally available when
> it provides fallbacks where not,

Because the fallbacks constitute misuse. As a result, the approach is not
only not interoperable, it is also error-prone and not accessible.

> and which proprietary properties is it misusing?

,-<http://easyxdm.net/wp/>
|
| [...]
| A bi-directional, reliable, secure and queueable Socket class that can
| transport strings between domains, using
|
| * HTML5 postMessage, or
| * window.name, or
^^^^^^^^^^^
| * hash/fragment
^^^^^^^^^^^^^

Your code is also full of common misconceptions like

easyXDM.js 2.0.1.77, line 222:
| if (name && window.attachEvent) {
| // Internet Explorer does not support setting the
| // name om DOMElements created in Javascript.
| // A workaround is to insert HTML and have the browser parse
| // and instantiate the element.


PointedEars
--
Danny Goodman's books are out of date and teach practices that are
positively harmful for cross-browser scripting.
-- Richard Cornford, cljs, <cife6q$253$1$8300dec7(a)news.demon.co.uk> (2004)
From: Asen Bozhilov on
Thomas 'PointedEars' Lahn wrote:

> easyXDM.js 2.0.1.77, line 222:
> |         if (name && window.attachEvent) {
^^^^^^^^^^^^^^^^^^
And that work properly in older versions of IE? If in older versions
they skip implement internal [[Get]] of host object, which refer
`attachEvent', that code will throw TypeError.
From: Sean Kinsey on
On Mar 28, 2:07 pm, Thomas 'PointedEars' Lahn <PointedE...(a)web.de>
wrote:
> > and which proprietary properties is it misusing?
>
> ,-<http://easyxdm.net/wp/>
> |
> | [...]
> | A bi-directional, reliable, secure and queueable Socket class that can
> | transport strings between domains, using
> |
> |     * HTML5 postMessage, or
> |     * window.name, or
>         ^^^^^^^^^^^
> |     * hash/fragment
>         ^^^^^^^^^^^^^
And how exactly does this constitute misuse? And why do you say that
they are proprietary properties?
Both window.name and the hash part of the url are standard in the web
browser, and if you are trying to say that setting and getting a
string property on some object (its not even an expando property) is
_misuse_, then I do wonder what you consider proper use.

> Your code is also full of common misconceptions like
>
> easyXDM.js 2.0.1.77, line 222:
> |         if (name && window.attachEvent) {
> |            // Internet Explorer does not support setting the
> |            // name om DOMElements created in Javascript.
> |            // A workaround is to insert HTML and have the browser parse
> |            // and instantiate the element.
Again, please explain. It is a fact that IE will not allow you to
change the name available to the program using Javascript.
http://msdn.microsoft.com/en-us/library/ms534184(VS.85).aspx

And whats with that negative attitude, seriously, talk about anal.

> I have looked at it, and what you are saying appears to be unlikely. For a
> start, for this statement to have a chance to become true, he would need to
> stop using features that are not universally available, and stop misusing
> proprietary properties of host objects.
This perhaps the most stupid thing I have seen in your latest post. So
in order to reach some goal (enabling cross domain messaging) I am now
_not_ allowed to use the only available techniques usable for said
goal?
From: Thomas 'PointedEars' Lahn on
Asen Bozhilov wrote:

> Thomas 'PointedEars' Lahn wrote:
>> easyXDM.js 2.0.1.77, line 222:
>> | if (name && window.attachEvent) {
> ^^^^^^^^^^^^^^^^^^
> And that work properly in older versions of IE?

It works in standalone versions of IE 5.00.2614.3500, 5.50.4807.2300, and
6.0.2800.1106, but that says nothing about the feasibility of that approach,
of course.

> If in older versions they skip implement internal [[Get]] of host object,

They cannot skip implementing it; they can only implement it differently.

> which refer `attachEvent', that code will throw TypeError.

Yes, that host object's methods can be reliably feature-tested like this is
one of the many common misconceptions in that quoted piece of code alone.


PointedEars
--
Prototype.js was written by people who don't know javascript for people
who don't know javascript. People who don't know javascript are not
the best source of advice on designing systems that use javascript.
-- Richard Cornford, cljs, <f806at$ail$1$8300dec7(a)news.demon.co.uk>
From: Sean Kinsey on
On Mar 28, 2:27 pm, Asen Bozhilov <asen.bozhi...(a)gmail.com> wrote:
> Thomas 'PointedEars' Lahn wrote:
> > easyXDM.js 2.0.1.77, line 222:
> > |         if (name && window.attachEvent) {
>
>                         ^^^^^^^^^^^^^^^^^^
> And that work properly in older versions of IE? If in older versions
> they skip implement internal [[Get]] of host object, which refer
> `attachEvent', that code will throw TypeError.

Sorry for my simple browser detection, I'll make sure to introduce
more bloat as to properly support IE2 etc.
But seriously, I do appreciate the feedback, but maybe a bit more
pragmatic approach would be better suited?