Как стать автором
Обновить

Комментарии 30

Осторожно с $.getJSON(). Теперь запрос делается не как XMLHTTPRequest, а вставляет новый тэг <script> в документ. Колбэк function(json){} не будет работать, точнее json будет undefined.
Если требуется передать не собственно скрипт, а только данные (допустим, массив), используйте $.get(..., function(data){ var json=eval(data)}).
Это не относится к запросам JSONP. С ними все в порядке.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Если точнее - если адрес абсолютный, то вставляется скрипт. Это сделано для того, чтобы обойти защиту в лисе третьей.
НЛО прилетело и опубликовало эту надпись здесь
а как кстати эти утечки искать? есть какой-нибудь профайлер для этого???
НЛО прилетело и опубликовало эту надпись здесь
Данные утечки касаются только IE, так как управление объектами JS и DOM занимаются два разных менеджера (объекта), то есть по сути различные сборщики мусора. Так если на какой нибудь узел в DOM ссылается объект JS, то при, например, перезагрузке страницы, узел DOM не будет разрушен, так как на него ссылаются. Решение, уничтожать все ссылки в JS на DOM узлы, перед перезагрузкой страницы и т.п. На msdn, да и на других сайтах, множество статей на эту тему.
У других браузеров такой проблемы нет, так как сборщик мусора у них один, так что можете не волноваться.
В IE если не заниматься "чисткой" ссылок, то браузер потребляет все больше памяти и начинает все медленнее работать (в разы).
Забавно, что javascript имеет так много библиотек, фреймворков;) Раньше не орбащал на это внимание, теперь занимаюсь их изучением! Автору респект!
А также http://www.mootools.net
Познавайте в сравнении!
Мой любимый фрейм :)
НЛО прилетело и опубликовало эту надпись здесь
Там, же как я пониманию не только заплачивание дыр и шибок, но и развитие фреймворка, например:
- 300% увеличение скорости $(DOMElement).
- Ревизия .ready(): используется код Diego Perini (техника non-document.write()). Метод теперь ожидает загрузки CSS. Можно ловить событие ready документа через традиционный .bind().
- .bind(”mouseenter”) / .bind(”mouseleave”).
- Сложные выражения внутри not().
- Понимает HTTP-заголовки.
- Событийный API.

Это имхо именно развитие и улучшение, а не багфксинг.
Простите, это вы где по 300% нашли?

Не заметил...
http://rmcreative.ru/news/id/1200389601/ — Источник, прошу прощения что не указал сразу.
Я бы сказал, что замечание относится к производителям любого софта =)
А некоторые объявляют баг фичей и не правят ошибки :)
Есть разработки где ошибки кучей правятся, сервис паком, а есть где постоянно идет работа. Многим даже не хватает редких изменений, и они устанавливают себе ежедневные обновления. На всех не угодишь, но при подходе jquery можно как раз всех удовлетворить, если хочешь более стабильную работу, никто не заставляет постоянно новую версию ставить.
Я, извините, каждый день к своим — готовым и сданным — сайтам багфиксы делаю (в вопросах верстки). Веб — среда шибко неоднородная, вводя новые фичи, всего не предугадаешь. А jQuery — кроссбраузерный фреймворк, приходится соответствовать (баг-трекер их почитайте). Короткий цикл разработки позволяет донести эти фичи до всё большего количества клиентов и попутно избавиться от проблем. Опять же, если беды фреймворка раньше вас не касались — вам даже обновлять работающие проекты не обязательно.

А события mouseenter/mouseleave — большой плюс, ИМХО. Сильно помогло на одном жарком проекте, буквально вчера с коллегой расковыривали поведение mouseover в шести браузерах.
они живут. это видно. например, в доках описана функция map (This is provided as a convenience method for using $.map), но 1.2.1 отказывалась такое понимать. Стоило времени понять, что оффсайт предлагает грузить версию 1.2.1, а сам использует бету с гуглакода ))) я долго смеялся.
Но главное живут. Я нашел jquery месяц назад - они за это время уже новую версию выпустили. Разве это плохо?
а идеального софта... даже блокнот не идеальнен %)
Этот релиз не привносит ничего революционного

Увеличение скорости на 300% конечно же не революция, но тоже неплохо :)
В смысле старый код должен работать без дополнительных усилий. Впрочем, первый коммент уже отменяет это утверждение.
Практический каждый релиз значительно повышает скорость, правда, обычно увеличение происходит только в одном браузере.
Я воспользовался для сравнения немного модифицированным тестом SlickSpeed. Вот некоторые результаты на базовых селекторах (те что шли в тесте по ссылке).
браузерjQuery 1.2.1jQuery 1.2.2
Opera 9.24321283
FireFox 2978853
IE610721074
Safari 3307291

А вот результаты на более сложных селекторах (типа DIV>DIV.dialog DIV +div:last-child), к тому же в сравнении с другими библиотеками.


браузерbasis 1.1base2prototype 1.6.0jQuery 1.1.4jQuery 1.2.1jQuery 1.2.2ext 2.0
Safari 31805916441795511523288
FireFox 28191072333762201020262584
IE64096387693263915231546949
Opera 9.24196911154205538693449

Не знаю где они получили прирост в 300%. Вот в сравнении с версией 1.1.4 действительно есть рост (но опять же не 800%), к тому же версия 1.2 проходит все тесты (в отличае от 1.1.4, которая половину заваливает).
Стоит заметить, что jQuery все же есть куда расти, так как есть другие библиотеки, которые справляются с задачей быстрее.
ЗЫ В скором времени постараюсь доработать тест и предложить общественности как сам тест, так и его результаты, в одном из топиков.

Сорри. Сейчас зашел еще раз на блог jQuery прочитал внимательнее. Там Написано
Speed Improvements to $(DOMElement)
То есть ускорение касается только случая если в $() передавать узел DOM, а не селектор.
похоже base2 Дина Эдвардса рулит всеми по скорости :)
Отличная вещь! Я думаю лидерство будет за jQuery!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории