Статьи

Что нового в jQuery Mobile 1.2.0?

Недавно вышла долгожданная новая версия jQuery Mobile. Давайте посмотрим, что было добавлено и изменено в этой версии 1.2.0. В примерах кода вы также узнаете, как использовать эти новые функции и использовать их для улучшения своих мобильных приложений.

jQuery Mobile — это легкая, полезная и простая в освоении мобильная платформа, определяемая единой системой пользовательского интерфейса, которая работает на всех популярных платформах мобильных устройств. Я должен признать, что как только я начал изучать и использовать его, я влюбился. Я сосредоточусь на новых возможностях последней версии, но в случае, если вы не знаете, что такое jQuery Mobile, или если вам нужна отправная точка, я советую вам прочитать Hello jQuery Mobile и Создание справочника персонала на jQuery Mobile .

Имейте в виду, что новейшая версия также устраняет множество ошибок из предыдущей. Если вам нужен полный список изменений, обратитесь к официальному журналу изменений 1.2.0 . Обратите внимание, что я буду использовать термин «виртуальная страница», чтобы подчеркнуть разницу между страницей jQuery Mobile и физической страницей — файлом, подобным index.html или page.php.

Совместимость

В первую очередь следует отметить, что jQuery Mobile 1.2.0 повышает совместимость устройств. На самом деле, большинство из этих операционных систем или браузеров уже работали с версией 1.1, но jQuery Mobile теперь имеет непревзойденную совместимость с оценкой «A». Оценка «А» означает полный расширенный опыт работы с анимированными переходами страниц на основе Ajax. Если вам нужна дополнительная информация о том, что это за оценки, вы можете прочитать « Поддержка мобильных браузеров» .
Полный список полностью совместимых мобильных операционных систем включает в себя: iOS 6, Android 4.1, Tizen, Firefox для Android и Kindle Fire HD. Теперь вы, вероятно, озадачены Tizen . Это операционная система с открытым исходным кодом, созданная Linux Foundation. Чтобы быть более точным, я процитирую их страницу «О нас»:

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

Как вы, возможно, знаете, jQuery Mobile использует библиотеку jQuery. В новой версии jQuery Mobile добавлена ​​поддержка последней версии jQuery, ветки 1.8 и — на другом конце модернизации программного обеспечения — команда jQuery отказалась от поддержки ветки 1.6. Однако, если вы все еще используете эту старую версию, ваш код должен работать как прежде, но имейте в виду, что если найдены ошибки, которые затрагивают только эту старую версию 1.6, они не будут исправлены.

Всплывающие окна

Всплывающие окна — одна из новых функций, представленных в последней версии jQuery Mobile. Они позволяют вам размещать любой контент, такой как меню, виджеты или изображения, внутри контейнера, который располагается над текущей страницей. Это очень легко создать. Фактически, все, что вам нужно сделать, это следовать структуре классической виртуальной страницы jQuery Mobile и заменить data-role="page"data-role="popup" Чтобы вызвать всплывающий виджет, точно так же как диалог, вы должны поместить ссылку, указывающую на идентификатор всплывающего окна, и добавить data-rel="popup" Ниже приведен пример вызова всплывающего окна.

  <a href="#helloPopup" data-rel="popup"> Базовое всплывающее окно </a> 

И это то, как оно выглядит как основное всплывающее окно.

  <div data-role = "popup" id = "helloPopup">
   <header data-role = "header">
     <H1> Popup </ h1>
   </ Заголовок>
   <div data-role = "content">
     <Р> Здравствуйте!  Я совершенно новый всплывающий виджет. </ P>
     <a href="#" title="Go back" data-role="button" data-rel="back"> Закрыть </a>
   </ DIV>
 </ DIV> 

Как и почти любая другая функция, у всплывающего виджета есть много полезных опций, таких как themecornerspositionTo, Возможные значения:

  • origin
  • window
  • селектор jQuery, центрированный среди данного элемента.

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

Я должен признать, что это диалоговое ограничение заставило меня тратить много времени, когда я начал работать с jQuery Mobile. Фактически, в то время я не использовал всплывающий виджет и чувствовал, что физический файл — это пустая трата дискового пространства. Ссылаясь на документацию:

Любая страница может быть представлена ​​в виде модального диалога, добавив атрибут data-rel = ”dialog” к ссылке привязки страницы.

Хотя примеры документации всегда показывают ссылку на физический файл, они не указывают, что это должен быть физический файл. Однако благодаря новому всплывающему виджету вам никогда не придется создавать дополнительные внешние файлы или запускать эту проблему снова.

Списки

В этой новой версии jQuery Mobile списки визуализируются, изменяются и обрабатываются намного проще. Давайте внимательнее посмотрим.

Listview Autodividers

Команда jQuery Mobile представила новый атрибут списка, который вас просто поразит. Атрибут data-autodividers Хорошая новость заключается в том, что этот атрибут может работать вместе с data-filter Итак, если вы используете оба метода в своем списке, а пользователь вводит строку в поле ввода для фильтрации данных, разделители изменятся соответствующим образом. Конечно, они все еще остаются независимыми друг от друга. Чтобы начать использовать этот новый атрибут, ваш список должен выглядеть следующим образом.

  <ul data-role = "listview" data-autodividers = "true" data-filter = "true">
   <li> <a href="#"> Audero.it </a> </ li>
   <li> <a href="#"> BuildMobile.com </a> </ li>
 </ UL> 

Чтобы увидеть в действии полный пример, обратитесь к демонстрационной странице на веб-сайте jQuery Mobile.

Складные списки

Начиная с этого выпуска, в вашем распоряжении будут складные списки. Списки в списках отображаются при нажатии родительского списка. Будучи списками, вы можете использовать все атрибуты, которые вы уже знаете, такие как data-insetdata-filterdata-autodividers Теперь вы сможете показать один складной элемент или создать аккордеон. Если вы не знакомы с аккордеонами, это наборы складных элементов, которые вы можете создать, обернув несколько свернутых элементов тегом, имеющим атрибут data-role="collapsible-set"

Списки только для чтения

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

Устаревшие методы и свойства виджета загрузки страницы

В этой версии некоторые методы и свойства виджета загрузки страниц устарели. В jQuery Mobile вы настраивали его, используя свойства $.mobileloadingMessageloadingMessageTextVisibleloadingMessageTheme Теперь они должны быть установлены с использованием свойств texttextVisibletheme$.mobile.loader.prototype.options Итак, следующая конфигурация:

  $ .mobile.loadingMessage = "Пожалуйста, подождите ...";
 $ .mobile.loadingMessageTextVisible = true;
 $ .mobile.loadingMessageTheme = "e"; 

следует изменить следующим образом:

  $ .mobile.loader.prototype.options.text = "Пожалуйста, подождите ...";
 $ .mobile.loader.prototype.options.textVisible = true;
 $ .mobile.loader.prototype.options.theme = "e"; 

Другие изменения были реализованы в методах, чтобы показать или скрыть виджет загрузки страницы. Фактически, до версии 1.2.0 разработчики использовали $.mobile.showPageLoadingMsg()$.mobile.hidePageLoadingMsg() Теперь они устарели, поэтому вы должны использовать $.mobile.loading("show")$.mobile.loading("hide") Обратите внимание, что используя этот новый метод, вы также получаете возможность перезаписать глобальную конфигурацию в пользу одной указанной передачи объекта конфигурации при вызове этих методов. Пример вызова для показа виджета с использованием локальной конфигурации приведен ниже.

  // Показать виджет, используя образец темы "e",
 // пользовательское сообщение и настройка видимого текста
 $ .Mobile.loading (
    "Показать",
   {
     тема: "е",
     текст: "фу",
     textVisible: true
   }
 ); 

Вывод

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