Как я должен написать приложение JQuery Mobile для браузеров с поддержкой JavaScript и без него?
Вопрос
Я пытаюсь обернуть голову вокруг jQuery Mobile. Моя цель состоит в том, чтобы построить очень быстрое приложение с внешним видом и чувствовать себя как можно ближе к нативному приложению (по крайней мере для современных устройств).
Я понимаю, что есть два способа навигации между страницами:
Загрузка каждой страницы как отдельная страница и связывание на другие страницы с регулярными HTML-анкерами.
Установка всех (или многих) страниц на одну веб-страницу и навигацию между ними с помощью JavaScript ($ .mobile.ChangePage (метод) и аналогичных функций API.
Первый подход должен работать на всех браузерах, но выполняет довольно плохо, так как между каждым переходом задерживается задержка.
Во-вторых, похоже, что это должно быть намного быстрее, поэтому я бы определенно предпочл этот подход. Но как бы эта работала для браузеров мобильных устройств без поддержки JavaScript? Определенно, кажется, нарушает цель jQuery Mobile, чтобы обеспечить изящное ухудшение опыта для браузеров C-класса.
Для меня похоже, что мне нужно дважды приложение, когда-то оптимизировано для браузеров с поддержкой JavaScript, один раз для браузеров без? Использование может быть еще одним вариантом, но это выглядит еще более грязно.
Какой рекомендуемый способ подойти к этой дилемме? Есть ли что-нибудь, что я не заметил?
Спасибо,
Адриан
Решение
Прежде всего: ваша точка зрения неверна.
Видеть Местные, внутренние связанные «страницы» здесь И внимательно прочитайте. Ссылка href="#pageelementid"
Будет работать просто отлично и будет работать в любом HTML4, способном для браузера [может потребоваться <a name="pageelementid">
В некоторых случаях я больше не уверен] с единственной разницей, что все страницы видны одновременно.
Во-вторых, если вы используете путь № 1, он тоже будет выглядеть довольно приятно. Он загрузит, да, но в браузерах с поддержкой JavaScript загружается AJAX и нет никакого младшего мигания между страницами. Также - всплывающее окно «Загрузка».
jQuery Mobile предполагается, что позволяет вам создать приложение с помощью чистого и простого HTML без js. Сам JQM занимает улучшение страницы, чтобы она выглядела хорошо и использует Ajax. Попробуйте создать приложение, которое будет работать в каждом возможном браузере (мое вдохновение: Lynx) и используйте Mykup JQM для этого. Любой JavaScript, который вы готовы написать, должен работать в качестве улучшения - сделать его лучше вместо того, чтобы сделать его вообще работать.
Удачи с этим!
Другие советы
Текущее мышление о поддержке меньших браузеров - это не ухудшается изящно, а улучшать. Если вы построете веб-сайт с земли до работы без JavaScript, затем улучшите его после этого, то вы в значительной степени знаете, что сайт будет работать (вместо того, чтобы исправить это построить вторичный сайт).
Что касается указанных вами двух вариантов, номер один будет моим предпочтением в качестве мобильного пользователя, если бы у меня была ограниченная пропускная способность, а также многие люди имеют ограниченную сумму загрузки в месяц.
Снятие всех страниц в один большой файл может показаться хорошей идеей (уже загружена), но в хорошем состоянии вы вполне могут столкнуться с ограничениями памяти на определенные телефоны. И что, если все, что они хотят сделать, это посетить две страницы, почему они должны быть вынуждены загружать весь сайт для этого?