войти зарегистрироваться

jQueryВышла библиотека jQuery версии 1.7.1

Во блоге jQuery совсем недавно появилось объявление о выходе версии 1.7.1.

Как и у всякого обновления, отличающееся только цифрою после последней точки, здесь речь идёт не о внедрении крупных новинок, а об исправлении целого ряда неприятных багов (и об изменении багоподобных мелких особенностей), которых на сей раз насчитывается три десятка.

Каждый волен самостоятельно отобрать среди них наиболее важные для себя. Лично мне существенными показались вот какие:
  • $(document).text() перестанет всегда возвращать пустую строку;
     
  • $.error теперь швыряет instanceof Error;
     
  • при создании DOM-элементов вызовом $('<…>') перестанет подтекать память;
     
  • анимация ширины, заданная приращением процентов в духе $('div').animate({ width: '-=5%' }), будет приводить к изменению ширины в процентах же (как и было в jQuery 1.6.4), а не в пикселах (как в jQuery 1.7).

jQueryЗаметки о выходе второй беты jQuery 1.7

Вчера (13 октября 2011 г.) во блоге jQuery появилось объявление о выходе второй беты jQuery 1.7; полный changelog её вы без труда сможете найти там же, но я всё же хочу перечислить все те изменения, которые показались мне наиболее заметными.

Во-первых, мощно улучшили поддержку HTML5 в IE. Насколько я могу судить по изменениям кода на Гитхабе, отдельные средства такой поддержки (например, html5shiv или Shimprove) больше не будут нужны.

Во-вторых, методы outerWidth(), .outerHeight(), .innerWidth(), .innerHeight() теперь будут работать у объектов window и document.

В-третьих, появилась поддержка CommonJS: jQuery саморегистрируется как асинхронный модуль. Прежде для этого jQuery приходилося пропатчивать.

Окромя названных выше улучшений, в бета-версии полным-полнó исправлений, искореняющих множество самых разных багов, иногда вельми премерзких: scroll() в IE откручивал до сáмого верха, свойство jQuery.support.opacity равнялося false в Google Chrome, метод .closest('.class') мог подхватить сам элемент вместо его родителя, и так далее. Но это уж как водится. Из них наиболее интересным показалось мне известие о том, что можно было вызвать сбой jQuery в IE8 простым кодом:

Wiki-технологияВышел движок MediaWiki 1.17. Моё расширение, подменяющее jQuery, по-прежнему работоспособно в нём. Но в будущем (для MediaWiki 1.18) появится более элегантное решение. 

22 июня 2011 года Фондом Викимедиа выпущена в свет очередная стабильная версия движка MediaWiki — версия 1.17. Соответствующую новость на английском языке вы без труда найдёте в рассылке mediawiki-announce, снабжённую гиперссылками на подробный список изменений и инструкции по апгрейду.

Одной из основных (и даже ключевых) новостей этой версии стало появление и внедрение уникального движка ResourceLoader, целью которого является автоматическая сборка «ресурсов» (конгломератов джаваскрипта и CSS, из которых собирается один общий файл CSS и один общий файл джаваскриптов) с учётом их взаимной зависимости (например, jQuery UI зависит от jQuery) и с последующей минификацией. Два ресурса, содержащие служебные скрипты MediaWiki и библиотеку jQuery 1.4.2, подключаются автоматически в любом случае.

Те из вас, кто хочет использовать более новую версию jQuery, по-прежнему могут для этого воспользоваться тем моим способом и расширением, о котором я рассказывал 12 дней назад вот в этом же блоге. Как ни странно, мне не пришлось переменить ни буквы в его коде PHP для обеспечения работоспособности в MediaWiki 1.17 — это приятная удача, несмотря на то, что (в силу сложности ResourceLoader) прежняя возможность несложно «выкусить» вызов библиотеки jQuery, встроенной в MediaWiki, исчезла совершенно. Так что теперь моё расширение «побеждает» всего лишь потому, что вставляет вызов новой jQuery чуть раньше, чем ResourceLoader начинает грузить старую. По-видимому, библиотека jQuery 1.4.2 достаточно разумна для того, чтобы не подменять новую версию себя самóй. Однако печально, что теперь (в отличие от 1.16) моё расширение не позволяет загрузить одну версию jQuery (свою) вместо другой (встроенной в движок): в 1.17 они грузятся совместно, что неэкономно.

jQueryВышла первая бета-версия jQuery 1.6

В официальном блоге jQuery выложена новость о том, что близится появление jQuery 1.6 и, стало быть, бета-версия позволит всем желающим заранее проверить совместимость нового кода со своими приложениями, убедиться в отсутствии проблем, при необходимости сообщить об ошибках в новой версии, и так далее.

Код jQuery beta 1 доступен для скачивания из jQuery CDN.

Список изменений в этой версии состоит из 45 строк, упоминающих 47 решённых проблем. Большей частью они посвящены обезжучиванию (избавлению от багов) и отлаживанию (избавлению от лажи), но там есть и с полдесятка небезынтересных новинок:
  • Подобно методу .bind(), методы .delegate() и .live() теперь приемлют false в качестве сокращения кода function(){return false;}.
     
  • Методы .is() и .not() теперь умеют принимать элементы DOM и коллекции jQuery в качестве аргументов.
     
  • Метод .clean() не будет воздействовать на элементы script, не имеющие типа «text/javascript».
     
  • В методе .css() появилась поддержка строк, содержащих относительные значения.
     
  • Новая функция requestAnimationFrame будет использоваться вместо прежней setInterval для анимаций, если она есть во браузере.

jQueryНовая версия: jQuery 1.5.1

[логотип jQuery]Джон Резиг позавчера (24 февраля) объявил во блоге jQuery о выходе очередной версии jQuery, получившей номер 1.5.1. Для скачивания, как и всегда, доступны два варианта исходного кода: обыкновенный (212 килобайтов) и мини-вариант (уменьшается до 29 килобайтов, если обработать его gzip).

Резиг перечислил сорок два основных изменения, которые были внесены в эту версию jQuery. В основном они сводятся к обезжучиванию, к избавлению от багов. Но есть и одно видимое изменение — в jQuery.ajax() добавили три новые настройки:

1) Настройка isLocal управляет осознанием используемого протокола в качестве локального, то есть позволяет дополнить автораспознавание jQuery, которое в настоящее время считает локальными только те ресурсы, которые загружаются по протоколам «file», «*-extension» (например, «chrome-extension», см. баг 8152) и «widget».

2) Настройка mimeType позволяет переопределить MIME-тип, используемый в XHR.

3) Настройка xhrFields позволяет передать массив необходимых установок (для каждой указав fieldName и fieldValue, то есть имя и значение некоторого поля) в объект XHR. Скажем, можно придать withCredentials значение true, если понадобится запросить сервер из другого домена и послать туда логин, пароль и cookies (в MDC есть пример JS-кода без jQuery для Firefox — можете на этом примере постигнуть, что именно будет такой настройкою достигнуто).

Эта версия (jQuery 1.5.1) — первая из тех, которые поддерживают IE9 настоящим образом: все проблемы, ранее имевшиеся в работе с IE9, либо исправлены в jQuery, либо переданы разработчикам IE9 для исправления их в IE9.

FirefoxСовместимость дополнений с Firefox 4: время начинать

Как многим из вас ужé хорошо известно, несколько недель тому назад вышла первая бета браузера Firefox 4. Очень скоро за нею последует и вторая, а итоговая версия ожидается позднее в этом году. Этот сравнительно долгий переходный период идёт на пользу разработчикам дополнений, так как он даёт нам много времени на обновление и проверку наших расширений для Firefox 4. С другой стороны, этот новый значительный выпуск станет щеголять массою новых функций, и нарушит множество необходимых нам вещей, так что обновление большинства дополнений для поддержки его не окажется простой задачею. Эта блогозапись — одна из многих, осведомляющих разработчиков о совместимости с Firefox 4.

Прежде всего, MDC вам друг: «Firefox 4 for developers». Это документ, который должен и будет содержать все сведения, надобные веборазработчикам и разработчикам дополнений, окружившим Firefox 4. Убедитеся, что посещаете этот документ регулярно и ищете в нём изменения. Если вам известно о чём-нибудь, чего в этом документе недостаёт — дайте нам знать.

И вот несколько ключевых фрагментов из этого документа.

JavaScriptPrototype 1.6.1: быстрее, чище, команднее

Поздравляем Эндрю Дюпона (Andrew Dupont) и Тоби Ланжеля (Tobie Langel) (нового официального соведущего ядра Prototype) с выходом нового 1.6.1:
  • Полная совместимость с новыми браузерами. Эта версия Prototype полностью поддерживает 1.0 и более крупные версии Google Chrome, и Internet Explorer 8 как в режиме совместимости, так и в суперстандартном.
  • Сохранение метаданных в элементах. С лёгкостью объединяйте джаваскриптовые пары ключей и значений с элементами DOM. Поглядите блогозапись, с которой это началось.
  • Новые события мыши. Собственнические события Internet Explorer — «mouseenter» и «mouseleave» — теперь доступны для всех браузеров.
  • Улучшенное быстродействие и домовитость. Часто использовавшиеся методы Function#bind, String#escapeHTML и Element#down стали быстрее, и Prototype лучше прибирает за собою.
  • Собрано со Sprockets. Теперь вы можете включать репозиторий исходного кода Prototype в своё приложение и использовать Sprockets для управления зависимостями и для распространения.
  • Внутреннее документирование посредством PDoc. Наша документация по API теперь хранится внутри исходного кода посредством PDoc, так что проще посылать патчи или лицезреть документацию по конкретной версии.
Подробности глядите во блогозаписи о RC2, во блогозаписи о RC3, и в CHANGELOG.

Вот несколько симпатичных изменений. Хотя с неподдельным волнением ожидаю увидеть работу нового Prototype 2.0 и как команда перезагрузит Prototype.