Вопрос о источнике jQuery == в окне

data: function( elem, name, data ) {
    if ( !jQuery.acceptData( elem ) ) {
        return;
    }
    elem = elem == window ? windowData : elem;

Скопировано непосредственно из источника jQuery.

Почему небезопасно использовать elem === window?

Почему jQuery использует приведение типов к объекту window?

Похоже, что в IE есть проблема с top.

top == window // true
top === window // false

person Raynos    schedule 31.01.2011    source источник
comment
В их документации утверждается, что это небезопасно?   -  person jondavidjohn    schedule 31.01.2011


Ответы (1)


См. здесь, почему повторная проверка объекта окна с помощью === небезопасна в IE.

Я думаю, что основная причина заключается в том, что IE тесно связан с ОС Windows, поэтому у вас есть различные объекты ОС, на которые есть ссылки через window, и проверка на равенство просто умирает. Это, и он просто неправильно обрабатывал глобальный объект host.

person Raynos    schedule 31.01.2011