Как я могу настроить таргетинг на мобильные телефоны с поддержкой jQuery? - PullRequest
2 голосов
/ 16 марта 2011

Я создал веб-приложение с использованием jQuery Mobile Framework, для которого я хотел бы предоставить запасной вариант для телефонов с более низкими характеристиками.

Мой вопрос ... что лучшеспособ нацелиться на JQM-совместимые телефоны?Я видел аналогичный вопрос, опубликованный на форуме jquery.В одном из ответов предлагается http://detectmobilebrowser.com/, в котором содержится длинный список телефонов.

Это лучший способ, или я должен проверять возможности браузера , а не нацеливаться на телефоны.Если это последнее, какие особенности считаются навыками «А-класса»?

Приветствия

Ответы [ 3 ]

3 голосов
/ 16 марта 2011

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

Учтите это:

  • Все ссылки на другие страницы являются обычными HTML-ссылками, ссылки по-прежнему будут работать без поддержки AJAX, поскольку они просто отправят вас по адресу необходимой страницы

  • Все основные элементы каркаса построены вокруг списков, ссылок и нескольких элементов div. Для отображения содержимого HTML5 не требуется

  • Как минимум, все телефоны могут отображать большое количество стилей, что позволяет отображать контент независимо от того, насколько он способен

Есть ли у вас пользовательские интерфейсы, которые бы не работали вообще без полной поддержки jQuery mobile?

1 голос
/ 31 июля 2011

Я также протестировал несколько страниц JQM на одной мобильной странице, которые прекрасно работают (очень быстро) в JQM, но страдают от той же проблемы, о которой говорилось (все страницы отображаются, когда JavaScript отключен в браузере смартфона).Чтобы обойти эту проблему, используйте только одну страницу для каждой страницы JQM (вы отказываетесь от скорости и равномерного перехода страницы).Что касается опции тега NOSCRIPT, этот тег NOT общепризнан во всех браузерах.Чтобы обойти эту проблему, вы можете попробовать что-то вроде следующего:

<div id="no-js">
<!-- Place HTML without javascript here -->
</div>
<div id="js">
<script language="javascript">
// place javascript here which would be ignored by browsers not support javascript or with
// javascript turned off
document.getElementById("no-js").style.display = "none"; // be sure to hide the non javascript
// div
</script>
</div>

Вышеприведенная логика будет работать как в браузерах типа тегов NOSCRIPT, так и в тех, которые не распознают NOSCRIPT.

dlausch

1 голос
/ 16 марта 2011

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

Я думаю, что будет трудно найти возможности браузера (или даже набор), которые определяют, будет ли телефон работать с JQM. На своем собственном опыте я использовал WURFL, библиотеку обнаружения устройств с открытым исходным кодом, которая предоставляет информацию о возможностях. Однако я использовал его для определения целевых устройств, чтобы включить CSS для конкретного устройства и удалить все JS для других устройств, которые, как я знаю, не поддерживают его (для устранения накладных расходов при загрузке JS).

WURFL: http://wurfl.sourceforge.net/

JQM рекламирует, что это обеспечивает постепенное ухудшение:

Изящная деградация: jQuery Mobile использует самые лучшие функции HTML 5 и CSS 3 для обеспечения наилучшего опыта работы в наиболее функциональных браузерах. Однако мы не считаем это предложением типа «все или ничего»: менее способные браузеры будут по-прежнему получать наилучшие впечатления, с которыми может справиться их платформа. Они могут иметь не все градиенты или причудливые переходы лучших платформ, но они все равно будут очень полезны. Самые простые браузеры легко вернутся к упрощенному HTML и CSS.

...