Comments 30
Осторожно с $.getJSON(). Теперь запрос делается не как XMLHTTPRequest, а вставляет новый тэг
Если требуется передать не собственно скрипт, а только данные (допустим, массив), используйте
Это не относится к запросам JSONP. С ними все в порядке.
<script>
в документ. Колбэк function(json){}
не будет работать, точнее json
будет undefined
.Если требуется передать не собственно скрипт, а только данные (допустим, массив), используйте
$.get(..., function(data){ var json=eval(data)})
.Это не относится к запросам JSONP. С ними все в порядке.
UFO just landed and posted this here
а как кстати эти утечки искать? есть какой-нибудь профайлер для этого???
UFO just landed and posted this here
есть специальная тулза, drip называется: http://www.outofhanwell.com/ieleak/index…
Данные утечки касаются только IE, так как управление объектами JS и DOM занимаются два разных менеджера (объекта), то есть по сути различные сборщики мусора. Так если на какой нибудь узел в DOM ссылается объект JS, то при, например, перезагрузке страницы, узел DOM не будет разрушен, так как на него ссылаются. Решение, уничтожать все ссылки в JS на DOM узлы, перед перезагрузкой страницы и т.п. На msdn, да и на других сайтах, множество статей на эту тему.
У других браузеров такой проблемы нет, так как сборщик мусора у них один, так что можете не волноваться.
В IE если не заниматься "чисткой" ссылок, то браузер потребляет все больше памяти и начинает все медленнее работать (в разы).
У других браузеров такой проблемы нет, так как сборщик мусора у них один, так что можете не волноваться.
В IE если не заниматься "чисткой" ссылок, то браузер потребляет все больше памяти и начинает все медленнее работать (в разы).
Забавно, что javascript имеет так много библиотек, фреймворков;) Раньше не орбащал на это внимание, теперь занимаюсь их изучением! Автору респект!
Я думаю тебе очень понравиться работать с ними.
Для раскачки можешь начать с прочтения:
http://www.rsdn.ru/article/inet/jQuery.x…
http://www.learningjquery.com/
Для раскачки можешь начать с прочтения:
http://www.rsdn.ru/article/inet/jQuery.x…
http://www.learningjquery.com/
UFO just landed and posted this here
Там, же как я пониманию не только заплачивание дыр и шибок, но и развитие фреймворка, например:
- 300% увеличение скорости $(DOMElement).
- Ревизия .ready(): используется код Diego Perini (техника non-document.write()). Метод теперь ожидает загрузки CSS. Можно ловить событие ready документа через традиционный .bind().
- .bind(”mouseenter”) / .bind(”mouseleave”).
- Сложные выражения внутри not().
- Понимает HTTP-заголовки.
- Событийный API.
Это имхо именно развитие и улучшение, а не багфксинг.
- 300% увеличение скорости $(DOMElement).
- Ревизия .ready(): используется код Diego Perini (техника non-document.write()). Метод теперь ожидает загрузки CSS. Можно ловить событие ready документа через традиционный .bind().
- .bind(”mouseenter”) / .bind(”mouseleave”).
- Сложные выражения внутри not().
- Понимает HTTP-заголовки.
- Событийный API.
Это имхо именно развитие и улучшение, а не багфксинг.
Я бы сказал, что замечание относится к производителям любого софта =)
А некоторые объявляют баг фичей и не правят ошибки :)
Есть разработки где ошибки кучей правятся, сервис паком, а есть где постоянно идет работа. Многим даже не хватает редких изменений, и они устанавливают себе ежедневные обновления. На всех не угодишь, но при подходе jquery можно как раз всех удовлетворить, если хочешь более стабильную работу, никто не заставляет постоянно новую версию ставить.
Есть разработки где ошибки кучей правятся, сервис паком, а есть где постоянно идет работа. Многим даже не хватает редких изменений, и они устанавливают себе ежедневные обновления. На всех не угодишь, но при подходе jquery можно как раз всех удовлетворить, если хочешь более стабильную работу, никто не заставляет постоянно новую версию ставить.
Я, извините, каждый день к своим готовым и сданным сайтам багфиксы делаю (в вопросах верстки). Веб среда шибко неоднородная, вводя новые фичи, всего не предугадаешь. А jQuery кроссбраузерный фреймворк, приходится соответствовать (баг-трекер их почитайте). Короткий цикл разработки позволяет донести эти фичи до всё большего количества клиентов и попутно избавиться от проблем. Опять же, если беды фреймворка раньше вас не касались вам даже обновлять работающие проекты не обязательно.
А события mouseenter/mouseleave большой плюс, ИМХО. Сильно помогло на одном жарком проекте, буквально вчера с коллегой расковыривали поведение mouseover в шести браузерах.
А события mouseenter/mouseleave большой плюс, ИМХО. Сильно помогло на одном жарком проекте, буквально вчера с коллегой расковыривали поведение mouseover в шести браузерах.
они живут. это видно. например, в доках описана функция map (This is provided as a convenience method for using $.map), но 1.2.1 отказывалась такое понимать. Стоило времени понять, что оффсайт предлагает грузить версию 1.2.1, а сам использует бету с гуглакода ))) я долго смеялся.
Но главное живут. Я нашел jquery месяц назад - они за это время уже новую версию выпустили. Разве это плохо?
а идеального софта... даже блокнот не идеальнен %)
Но главное живут. Я нашел jquery месяц назад - они за это время уже новую версию выпустили. Разве это плохо?
а идеального софта... даже блокнот не идеальнен %)
Этот релиз не привносит ничего революционного
Увеличение скорости на 300% конечно же не революция, но тоже неплохо :)
В смысле старый код должен работать без дополнительных усилий. Впрочем, первый коммент уже отменяет это утверждение.
Практический каждый релиз значительно повышает скорость, правда, обычно увеличение происходит только в одном браузере.
Я воспользовался для сравнения немного модифицированным тестом SlickSpeed. Вот некоторые результаты на базовых селекторах (те что шли в тесте по ссылке).
браузер | jQuery 1.2.1 | jQuery 1.2.2 |
---|---|---|
Opera 9.24 | 321 | 283 |
FireFox 2 | 978 | 853 |
IE6 | 1072 | 1074 |
Safari 3 | 307 | 291 |
А вот результаты на более сложных селекторах (типа DIV>DIV.dialog DIV +div:last-child), к тому же в сравнении с другими библиотеками.
браузер | basis 1.1 | base2 | prototype 1.6.0 | jQuery 1.1.4 | jQuery 1.2.1 | jQuery 1.2.2 | ext 2.0 |
---|---|---|---|---|---|---|---|
Safari 3 | 180 | 59 | 1644 | 1795 | 511 | 523 | 288 |
FireFox 2 | 819 | 107 | 233 | 3762 | 2010 | 2026 | 2584 |
IE6 | 409 | 638 | 7693 | 2639 | 1523 | 1546 | 949 |
Opera 9.24 | 196 | 91 | 115 | 4205 | 538 | 693 | 449 |
Не знаю где они получили прирост в 300%. Вот в сравнении с версией 1.1.4 действительно есть рост (но опять же не 800%), к тому же версия 1.2 проходит все тесты (в отличае от 1.1.4, которая половину заваливает).
Стоит заметить, что jQuery все же есть куда расти, так как есть другие библиотеки, которые справляются с задачей быстрее.
ЗЫ В скором времени постараюсь доработать тест и предложить общественности как сам тест, так и его результаты, в одном из топиков.
Отличная вещь! Я думаю лидерство будет за jQuery!
Sign up to leave a comment.
jQuery обновилась до версии 1.2.2