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

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

Прекрасно! Как раз есть проект на оптимизации где узким местом осталась как раз эта библиотека. Пробуем!
Найдеюсь разработчики из prototype.js учтут опыт оптинимизации jquery, потому что он действительно быстрее во многих местах.
с одной стороны, это хороший, правильный комментарий

с другой стороны, мне очень не хочется, чтобы разработчики prototype.js учитывали опыт, который приводит к результатам вроде этого: $(”#id”) - IE 6 - 651ms

если так лажать, то да, потом можно ускоряться и на два порядка ; )
Это же в старой версии.. В 1.1.4 - IE 6 70ms !
я заметил ; )
однако один раз они капитально слажали, и я думаю, что это легко может повториться
Все мы ошибаемся :о) Главное вовремя исправиться.
Хе-хе, каким должен быть код до этого, чтобы фф дал 4919% прироста. Однако повод присмотреться к этой библиотеке.
Хороший был код, я его смотрел. Возможно применили трансляцию CSS-селекторов в XPath, как это делают в некоторых других библиотеках, это, говорят, работает быстрее.
Не применили.
В 1.2 намечается плагином.
> Or, when jQuery 1.2 is released, use the new XPath Plugin.
Вот это плохо, я когда читал про релиз немного расстроился. :) А ускорение, я так понял, большое именно под второй файерфокс, то есть юзают, именно то, что под него работает быстро - лисоводы должны радоваться, а остальные подумать насчет браузера.
Там XPath реализуется, а не применяется. Т.е. можно писать XPath выражения.
В jQuery есть аналог extend (наследование классов) библиотеки Prototype и расширение массива и хеши? Если есть, то перейду на jQuery иначе так и придется Prototype использовать.
extend вроде есть, правда насколько он такой же, как в Prototype - не знаю.
расширение массива и хеши - в ядре, кажется, нету, но думается, что наверняка найдётся плагин.
Думаю, есть...
Спасибо, да есть:

var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
jQuery.extend(settings, options);

То, что надо.
Заинтересовала меня эта библеотека, но боюсь что потребуеться много времени на её изучение.
Возможно есть статьи или заметки, о том как с помощью этой библеотеки сделать отрпавку формы AJAX`ом. Да и вообще какие-нибудь примеры из полевых условий? Буду очень благодарен за ссылочки.
На самом деле, она очень простая в изучении. jquery.com, раздел "документация". Все очень хорошо и подробно написано.
вот я сейчас попробывал, вот так:
function checkLogin()
{
$("#checklogin").load("/ajax/checkLogin.php", {login: document.getElementById('login').value});
}

передать данные - английские нормально передаються, но а что делать с русскими? кодировка бьеться...
попробуй utf8
у меня по всему сайту WIN1251 неохоту все переделывать. Есть решение с кириллицей?
iconv)
И при отдаче данных с сервера отдавать заголовок Content-Type: text/html; charset=windows-1251
Поработав немного с jQuery, понял, что по умолчанию методы $.post, $.get, $ .ajax, $().load работаю с кодировкой utf-8. Для правильной работы с русскими символами в другой кодировке необходимо передать в заголовке кодировку. А также следить, чтобы данные были на сомом деле в той кодировке, в которой мы хотим.
Ещё к вам вопросик, попробывал я написать так:

function rateNews(value, postID)
{
$.getJSON( '/ajax/rateNews.php',
{rate_value: value, rate_newsid: postID},
function lol(j) { alert(j.ratetxt); });
}


alert не вылезает и все тут.. в опере, в фф пробывал - не получается. сравнивал с докой - все сделано также, почему не работает?
попробуйте $.get
если alert начинает работать, возможно ваш серверный скрипт возвращает неверно сформированный JSON массив.

У меня ваш пример работает:

$(document).ready( function() { rateNews(4,5); });

function rateNews(value, postID)
{
$.getJSON( 'ajax.php',{rate_value: value, rate_newsid: postID}, function lol(j) { alert(j.ratetxt); });
}

содержимое ajax.php :
{ ratetxt: "Value recorded" }
Если на русском - вот отличный обзор библиотеки
для ajax'a юзаю xajax - прикольная библотека PHP/AJAX, jquery нравиться, но не для работы с ajax'ом...
почему jQuery не подходит?
Может не правильно выразился: мне нравиться работать с ajax используя xajax библиотеку, удобней пока не встречал (http://xajaxproject.org/)
НЛО прилетело и опубликовало эту надпись здесь
xajax только инициализирует себя и всё, этот код мона легко закинуть в отдельный файл...
как показали тесты в IE 5.5, все не так гладко. Будем ждать ответа от разработчиков, но для России IE 5/5.5 достаточно актуален: по моей статистике из 4500 тысяч посетителей сайта за месяц 65 были именно с ним (и двое — с IE4). В общем, для русских проектов я бы советовал использовать с осмотрительностью.
патч: "тысяч" зачеркнуть :)
65/4500 = 1,4%
Вы считаете это актуальным?
По моему мнению, сделав сложный интерфейс без JS, но с кучей ссылок и переходов по страницам, можно потерять гораздо больше пользователей, которые просто не смогут (или не захотят) им пользоваться
я считаю это актуальным, если у вас сайт приносит каждый день десятки тысяч долларов, например :). А сделать интерфейс, который будет работать без JS, если JS отключен/не работает — задача каждого разработчика.

К тому же, речь шла не о JS вообще, а о jQuery, в частности :)
Спасибо за новость!!! Очень рад её услышать.
Актуально. Насколько быстрее стало $('Node [@some] Test')?

В целом, прирост за счет оптизации чего? Селекторов?
не такой уж ты и крутой бетмен!
http://imade.in.ua/misc/JQuery/

я вінужден признать что все равно по сравнению с прото типом мы со своим джейквери нервно крим в торонке... =(
хотя ему в плюс + большая крутость в обращении с обектами.
от браузера многое зависит:
     jq2   jq3  jq4  p    m 
FF: 30192 3142 3057 827 978
IE6: 17072 2701 3621 7551 5346
Чем старик SAJAX не устраивает? подогнать его под себя 2 секунды, код понятен даже для новичка.
так ведь речь идет не только про xmlhttprequest, а JQuery довольно много хорохих вещей предоставляет
Что за ерунда с версией браузера в jQuery 1.1.4
alert($.browser.version);
в IE6 показывает: 4.6

хотя
alert(navigator.userAgent.toLowerCase());
показывает: mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; mra 4.6 (build 01425); .net clr 2.0.50727)
Прикольная бага :-)
Судя по коду, jq ведётся на "ra", которое mra = Mail.Ru Agent

jQuery.browser = {
version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
safari: /webkit/.test(userAgent),
opera: /opera/.test(userAgent),
msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
};


Попробуйте
alert($.browser.msie);
$.browser.msie в данном случае true, а мне нужна версия, придется самому определять.

Сообщил разработчикам, пусть поправят.
Опередели вы меня, похоже. Я только что создал тикет разработчикам.
Ну и хорошо, чем больше пожалуются тем быстрее исправят, да вы и проблему описали получше.
Люди хорошие, объясните неразумному, неужели в версии 1.1.3 тратилось больше одной секунды просто на то чтобы выбрать елемент по ид, в фф2. Муть какая-то получается.
Добрый всем день.
Возможно мне кто нибуть сможет помочь.
У меня есть форма:




Название:



Ллоготип:
Маленький:

Средний:

Большой:






Мне нужно в add_mark.php записать названия в базу и зааплоадить картинки.

когда эта страница с формой подгружается в див - выдает ошибку в строке состояния.
а onclick="javascript: $.post('./auto-zoom/sql/add_mark.php', name:$('#name').attr('value'));" -не работает.

Я новичек, и может чего не догоняю.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации