Почему Webkit прикрепляет HTMLDivElements к объекту окна? - PullRequest
1 голос
/ 30 марта 2012

Раньше я проверял наличие глобально доступных библиотек JS, проверяя содержимое объекта window.Теперь меня огорчает тот факт, что если я проверю, скажем, на jQuery и у меня есть такой элемент: <div id="jQuery"> на странице, он будет доступен под window.jQuery.

хорошая вещь?

Пример: http://jsfiddle.net/7xVeJ/2/

Am в Chrome 16.0.912.75 в Linux

1 Ответ

3 голосов
/ 30 марта 2012

По сути, это связано с тем, что именованные элементы были представлены как свойства объекта document в ранних версиях интерфейса DOM.Затем некоторые браузеры решили также выставить эти свойства для объекта window.См. Ответ Бобинса здесь для полной истории.

Чтобы обойти эту ситуацию, вы можете проверить, что window.jQuery является функцией:

if (typeof window.jQuery === "function") {
    // jQuery should be available.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...