По вопросам оптовых закупок обращайтесь, используя форму обратной связи или по телефонам в Санкт-Петербурге: +7(812)380-5007 и в Москве: +7(495)638-5305.

Записи, помеченные ‘jQuery’

Вышла в свет вторая бета-версия js-фреймворка jQuery 1.8

Пятница, 20/07/2012

Для команды разработчиков прошло несколько сумасшедших недель, во время которых был выпущен релиз jQuery 1.8 beta 1 и проведена следующая за этим событием конференция в Сан-Франциско. Тем не менее, несмотря на все путешествия, конференции, встречи и посты в блогах относительно будущего jQuery, команда разработчиков нашла время для новой версии популярного js-фреймворка.

Стоит отметить, что одним из новшеств является значительная модификация движка селекторов Sizzle (напомним, что он предназначен для поиска элементов DOM-модели) для дальнейшего увеличения производительности. Помимо этой титанической работы, были устранены баги, связанные с браузерами IE 6, 7 и 8, полной поддержки которых (преимущественно старых версий) , вообще говоря, невозможно достичь, однако разработчики прикладывают все силы для того, чтобы облегчить жизнь веб-разработчиков.

Команда jQuery просит помощи у разработчиков в тестировании новой версии – если у вас есть желание помочь, то загрузите последнюю версию библиотеки по адресу http://code.jquery.com/jquery-1.8b2.js и протестируйте весь имеющийся у вас код с новой библиотекой в старых и новых, красных и синих браузерах (IE6, Chrome Canary, Opera и Internet Explorer).  Если вы найдете какую-либо ошибку, то постарайтесь создать простой тестовый пример на http://jsfiddle.net/, иллюстрирующий ошибку - это позволит разработчикам найти проблему и определить пути решения. Чем больше сообщений об ошибках получит команда разработчиков, тем быстрее выйдет финальная версия библиотеки.

В бета-версии jQuery 1.8 были закрыты следующие “баги”:

Ajax

#4624: Кодировка ajaxSettigns.contentType по-умолчанию «application/x-www-form-urlencoded»

#10978: jQuery.param() должен принимать не-нативно сконструированные объекты в качестве параметров

#11264: evalScript() использует настройки по-умолчанию от ajaxSetup()

#11426: jQuery.ajax() всегда выдает ошибку при попытке запроса JPG файла в IE

Атрибуты

#5571: Обрыв цепи при передаче параметра undefined в .attr(‘attribute’, undefined)

#10828: attr(“coords”) возвращает значение undefined в IE7

#10870: Некорректное поведение $.removeAttr(“selected”)

#11316: Рассмотреть возможность поиска в первую очередь по типу элементов через valHooks, а затем по nodeName

Сборка

#10692: Конфигурация опций валидатора JSHint для более точного соответствия гайдлайну

#10693: Обобщение функций тестирования в iFrame в юнит тестах

#10901: Юнит тесты не работают, если тестирование проводится из file:// или в случае отсутствия PHP

#10902: Возможность тестирования версии сборки jQuery в юнит тестах

#10931: Юнит тесты не должны требовать доступа в интернет

Ядро

#10466: Неправильная обработка упакованных примитивов для «глубоких» объектов в jQuery.param()

CSS

#10639: В webkit функции outerWidth(true) и css(‘margin’) возвращают % вместо px

#10754: jQuery.swap возвращает результат функции обратного вызова вместо простого выполнения

#10782: Неправильный расчет ширины

#10796: Баг в IE7 с $(“#el”).css(‘’background-position)

#10858: Регулярные выражения в css.js не завершены

#11119: Функции curCSS необходимо только два аргумента

Данные

#11309: Неправильная обработка шестнадцатиричных атрибутов данных (data-*)

Отложенные объекты

#11306: вызов функций .disable() или .lock() для объекта $.Callbacks сбрасывает статус fired()

Эффекты

#8498: Хуки анимации

#10006: Метод show работает не так, как ожидается во всех браузерах  в случае, если вызывается для фрагмента документа

#10848: В определенных переключение анимации приводит к утрате состояния отслеживания (tracking)

#11415: Тихое игнорирование отрицательных CSS-значений в местах, где они недопустимы

#11469:  Отрицательное значение свойства margin в анимациях (.animate)

События

#8165: В браузере Chrome на неактивных кнопках вызывается функция .live(‘click’, handler)

#10819: Убрать “this.on.call(this,”

#10878: В браузере IE8 с jQuery 1.7 не работает $(“select”).live(“change”, function(){…

#10961: В браузерах IE6-9 с jQuery 1.7 ошибка в XRegExp

#10970: Параметр селектора .on() не работает с селектором :not(:first)

#10984: Невозможно применить функцию off() для частных событий

#11021: Перекрытие пространства имен “hover”

#11076: Функция .clone(true) теряет фильтры делегирования

#11130: jQuery.fn.on: связывание (binding) с нулевым селектором игнорирует данные

#11145: $(document).on()  не работает с атрибутом name=’disabled’

Манипуляция

#9427: Передача undefined в .text() не возвращает управление установщику (setter)

#10753: Не выделять в отдельную функцию evalScript в manipulation.js, так как используется только один раз

#10864: Метод text() на фрагменте документа всегда возвращает пустую строку

#11055: Обновить список элементов HTML5 Shim для поддержки последней html5shiv

#11217: Проблема с функцией append() в webkit

#11291: Клонирование XMLDoc с узловыми элементами HTML5 не работает в IE

#11323: Теги script с атрибутом type=”text/ecmascript” переносятся в DOM

#11356: Утечка памяти в safeFragment

Прочее

#10952: Метод .fired() не работает с объектом Callbacks, когда у него стоит флаг “once”

#11257: В случае отсутствия PHP не правильно определятся путь к исходным файлам в тестах

Очередь

#10967: .promise() не добавляет методы к объекту

Support

#7986: Баг в $.support.boxModel, если страница содержит CSS для DIV-элементов

#11048: Support тесты меняют расположение позиционируемых элементах в IE 6-9

#11337: Баг в $.support.eliableMarginRight

Обход

#11370: $(“<div>”).siblibgs() бросает исключение

Полный список изменений, начиная с версии jQuery 1.7.2 вы можете как всегда посмотреть в блоге jQuery.

Источник: jQuery

Переписанный jQuery для создания jQ.Mobi под iOS и Android. Open source представляет оптимизированный фреймворк под мобильный HTML5

Воскресенье, 22/01/2012

jQ.Mobi — оптимизированный HTML5 для мобильных устройств, который является переписанным фреймворком jQuery. Разработчики обещают, что производительность данного фреймворка будет в 2,5 раза быстрее, чем у самой jQuery.

Аналогично фреймфорку для JavaScript, jQ.Mobi предоставляет как пользовательский интерфейс, так и среду для разработки. В данном релизе appMobi сделали упор на то, чтобы уйти от существующих JavaScript UI фреймворков, таких, как JQuery Mobile, JQTouch и Sencha Touch, они же наследники десктоп браузеров и HTML4.

jQ.Mobi включает в себя движок запросов, библиотеку пользовательского интерфейса и коллекцию плагинов. Разработчики утверждают, что jQ.Mobi превосходит по производительности jQuery в 3 раза на Android и в 2,2 раза на iOS. JSPERF.com обнародовали данные результаты исходя из тестов трех обычных функций: простого запроса, создания элемента и добавления элемента.

«Правда в том, что самой большой проблемой HTML5, с которой сталкиваются разработчики,  является отсутствие хорошего пользовательского интерфейса. Нет ничего более важного для мобильного HTML5. Apple установили планку на высоком уровне с мобильным интерфейсом Cocoa Touch, и до сих пор аналогичных по качеству UX инструментов для веб-разработчиков не существовало. Вот потому-то мы и запустили данный проект, возлагая большие надежды на предоставляемую скорость и кросс-платформенное единообразие», - сообщает Сэм Абадир, основатель и технический директор appMobi.

Движок jQ.Mobi имеет размер всего 3,7 Мб. AppMobi говорят, что размер на мобильных устройствах важен для интерактивности, потому как более тяжелые страницы требуют большего времени для загрузки. jQ.Mobi UI также достаточно мал, всего лишь 15 Кб.

jQ.Mobi будет предлагаться совершенно бесплатно под лицензией MIT X11.

Источник: Dr. Dobbs

Вышла библиотека jQuery 1.7.1.

Среда, 30/11/2011

В данной версии команда разработчиков исправила множество ошибок. Скачать новую версию можно по следующим адресам http://code.jquery.com/jquery-1.7.1.min.js и http://code.jquery.com/jquery-1.7.1.js. Вскоре представленная версия появится и в сетях CDN.

В новой версии были исправлены следующие ошибки:

Ajax

#10723: jqXHR.always() возвращает объект Promise вместо объекта jqXHR

Attributes

#10724: $(document).text() постоянно возвращает пустую строку

#10773: removeAttr в определенных случаях вызывает ошибку

Build

#10630: исправление ряда ошибок, связанных с фокусом в браузерах

Core

#10616: тип ограничений не выполняется для -1 в eq.

#10646: проблема jQuery.error(), сбрасывает аргумент строки

#10682: создание DOM элементов при помощи $(‘ ‘) может вызвать избыточное использование памяти

#10687: jQuery слишком рано вызывает функцию AMD define()

#10690: использование функции isNumeric не выдает корректных результатов

Css

#10733: неоправданное использование jquery.each в сравнении с более быстрым циклом for

Data

#10675: использование internalKey вместо jQuery.expando

Effects

#10669: функция .animate() не выполняет пользовательскую анимацию в ширину в процентах, вместо этого производится анимация в пикселях

#10750: при попытке jQuery обратиться к data[i].stop возникает ошибкаObject required

Events

#10676: функция wheelDelta больше не добавляется к событию mousewheel

#10701: проблемы с отправкой форм при использовании функции submit

#10704: метод special.handle должен вызываться из origType

#10705: ошибка парсера при анализе имени события (добавление свободного места в начале или в конце имени события сбрасывает все ранее присоединенные события элемента)

#10712: нажатие в текстовом поле вызывает ошибку blur

#10717: неверное отображение при использовании $(window).load()

#10791: использование делегированных событий на встроенном SVG имеет ошибки в отношении класса селекторов

#10794: .triggerHandler не должен вызывать .preventDefault()

#10798: live(submit) и .submit() может дважды вызывать функцию live, что приведет к двойной отправке формы

#10844: .delegate() в submit не работает, когда входные данные в форме имеют значениеid

Manipulation

#10177: индекс функций обратного вызова в .wrap всегда 0

#10667: HTML5 в функции .wrapAll() добавляет к элементу:

#10670 rnoshimcache не работает должным образом

#10812: передача пустого объекта в .before() и .after() вызыает ошибку в IE7

Misc

#10691: удаление всех появлений функцийequalsиsameпри использовании testrunner.js

Support

#10629: IE слишком чувствителен к fake body.

#10807: Находящийся в комментариях апостроф (’), не соответствует апострофу из таблицы ASCII

Источник: jQuery

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

Вторник, 4/10/2011

Новая версия включает в себя целый ряд нововведений и исправления более 50 ошибок. Скачать бета-версию можно по адресу http://code.jquery.com/jquery-1.7b1.js. Теперь пара слов о нововведениях. За всё время существования платформы в jQuery использовалось три способа привязать события к элементам: .bind() , .live(), и .delegate(). Несмотря на то, что все три команды вызывают библиотеку событий браузера, их использование может привести к нежелательным взаимодействиям. Поэтому, мы представляем новую простую и удобную пару методов вызова событий:

$(elems).on(events, selector, data, fn);

$(elems).off(events, selector, fn);

К другим нововведениям можно отнести полностью корректную работу с Internet Explorer версии 6, 7 и 8. Помимо увеличенной производительности при генераций событий, устранены проблемы с критическими ошибками в этих браузерах.

Также проблема в версиях до 1.7, когда при остановке анимации до её завершения она не возвращалась к своему исходному размеру, полностью устранена.

Полный список нововведений и исправлений можно найти на официальном сайте разработчиков по адресу http://blog.jquery.com.

Источник: jQuery

Вышла новая jQuery 1.6.3

Воскресенье, 4/09/2011

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

Исправлены следующие ошибки:

Ошибка, делавшая возможными XSS атаки. Большое количество сайтов использовали для выбора элементов функцию location.hash, позволявшую вставлять собственные скрипты в страницу. В связи с этим было принято решение о модификации определения селекторов. Любая строка, начинающаяся с $() не может содержать HTML тэгов (и, соответственно, скриптов), если перед ними располагается символ решетки.

Ошибка, связанная с использованием функции requestAnimationFrame при анимации, из-за которой вся анимация на скрытых вкладках вставала в очередь до момента становления вкладки видимой и получающей фокус. После чего вся анимация воспроизводилась практически молниеносно. Было принято решение исключить данную функцию из API и внести её в будущую версию jQuery.

Внесены следующие доработки:

Улучшена обработка имен атрибутов данных HTML5: метод API $().data() теперь выполняет двойную роль – обрабатывает данные для внутреннего использования их библиотекой jQuery и плагинами, и к тому же позволяет считывать начальные значения атрибутов данных HTML5.

Улучшена возможность использования конвенций HTML5, таких как конвертация camel-case в camelCase. Напомним, однако, что метод $().data() только считывает атрибуты данных HTML5 и не поддерживает изменения данных. Для изменения атрибутов в HTML-разметке используйте метод .attr().

Источник: jQuery

jQuery 1.6.2 RC 1

Воскресенье, 19/06/2011

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

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

Изменения, которые были внесены в jQuery 1.6.2 RC 1:

- Добавлена возможность работы с формами через AJAX

- Исправлена неправильная работа $(elem).attr(eventName) в IE7

- Исправлена неправильная работа attr(“title”) в IE7

- .attr(“value”) теперь работает с meter элементами

- Исправлена ошибка $(‘form’).attr(‘class’), при которой в IE6 всегда возвращалось значение undefined

- removeClass будет удалять только первый экземпляр класса

- Расширено использование jQuery.camelClass(), определенного в модуле css.js

- Исключена утечка памяти, при подгрузке jquery.1.6.1.min.js html-страниц в iframe

- Добавлена возможность работы с относительными значениями в свойствах, обладающих именами с дефисами через .css()

Источник: jQuery

Нова версия jQuery Color v2 beta 1

Пятница, 3/06/2011

В 2007 году был выпущен плагин jQuery Color, позволяющий анимировать цветовые переходы. На данный момент разработчики занимаются разработкой второй версии плагина, в которую добавлены API, цветовые палитры RGBA, HSLA и другие возможности. Сейчас можно скачать первую бета-версию плагина.

Давайте взглянем на новые возможности:

RGBA

На данный момент в плагине появилась поддержка RGBA цветов. В браузерах, не поддерживающих RGBA, для реализации «смешанных» цветов элементов будет использоваться ближайший цвет для параметра backgroundColor. Хоть это и не настоящая прозрачность, подобный подход позволит создать иллюзию альфа-смешения при работе со сплошными фоновыми цветами.

HSLA

Для всех браузеров реализована поддержка HSLA палитры, за исключением альфа-смешения, которое реализуется таким же способом, как и в RGBA для старых браузеров.

API

Вместо целой группы приватных служебных методов теперь создаётся новый объект Color (через вызов $.Color()). Объект Color можно инициализировать и другими способами – именами цветов, шестнадцатеричными кодами цветов, rgba/hsla стилями CSS, массивом rgba значений или объектом, содержащим описание цвета. В объект также встроены вспомогательные методы для работы с цветовыми характеристиками (например, методы .red() и .hue() устанавливают значения красного и насыщенность, соответственно). Совместно с другими вспомогательными функциями, такими как .toRgbString(), . transition() и .is(), объектом $.Color можно описать любой необходимый вам цвет.

Более подробную информации обо всех новых возможностях вы можете найти в официальной группе jQuery на github.

Примеры:

// Создадим Color объект красного цвета:

var red = $.Color( ‘rgba(255,0,0,1)’ ); // используется css-строка

// Создадим Color объект красного цвета, а затем сделаем его оранжевым:

var orange = $.Color( ‘#FF0000′ ).green( 153 );

// Создадим промежуточный цвет между красным и синим:

var between = $.Color([ 255, 0, 0 ]).transition( “blue”, 0.5 );

Источник: jQuery

Вышел jQuery 1.6.1

Воскресенье, 15/05/2011

Несмотря на то, что новая версия библиотеки jQuery 1.6 вышла совсем недавно, уже появился её первый минорный релиз. Какие же нововведения приготовили для нас разработчики? Данный релиз нацелен на доработку управления атрибутами и свойствами. Был изменен модуль Attributes , а именно, была устранена неоднозначность между свойствами и атрибутами; это что вызвало некоторое замешательство в сообществе jQuery, так как до версии jQuery 1.6 доступ ко всем свойствам и атрибутам предоставлялся через метод .attr(). Данный метод содержал в себе большое количество ошибок, и его было сложно поддерживать.

Что касается обратной совместимости, булевые атрибуты, такие как checked, selected, readonly и disabled в версии 1.6.1, будут обрабатываться так же, как и во всех предшествующих библиотеках jQuery до версии 1.6. Это означает, что код

$(“:checkbox”).attr(“checked”, true);

$(“option”).attr(“selected”, true);

$(“input”).attr(“readonly”, true);

$(“input”).attr(“disabled”, true);

или

if ( $(“:checkbox”).attr(“checked”) ) { /* Do something */ }

не придется изменять при работе с версией 1.6.1, и он будет обрабатываться как и ранее.

Для внесения ясности в изменения метода .attr(), ниже представлено несколько примеров, показывающих, в каких случая необходимо использовать метод .prop():

.attr()

$(window).attr…

$(document).attr…

$(“:checkbox”).attr(“checked”, true);

$(“option”).attr(“selected”, true);

Вместо использования метода .attr() правильнее использовать метод .prop():

$(window).prop…

$(document).prop…

$(“:checkbox”).prop(“checked”, true);

$(“option”).prop(“selected”, true);

Если быть точным, то на данный момент версия 1.6.1 поддерживает обратную совместимость, однако команда разработчиков советует использовать метод .prop() для всех булевых свойств и для свойств, которых не существует в html (таких как window.location). Работа со всеми прочими атрибутами (которые вы можете встретить в html), должна осуществляться через метод .attr() как и раньше.

Более подробно о jQuery 1.6.1 можно узнать на официальном сайте проекта.

Источник: jQuery

Система Orphus