Как я должен написать приложение JQuery Mobile для браузеров с поддержкой JavaScript и без него?

StackOverflow https://stackoverflow.com/questions/4621576

Вопрос

Я пытаюсь обернуть голову вокруг jQuery Mobile. Моя цель состоит в том, чтобы построить очень быстрое приложение с внешним видом и чувствовать себя как можно ближе к нативному приложению (по крайней мере для современных устройств).

Я понимаю, что есть два способа навигации между страницами:

  1. Загрузка каждой страницы как отдельная страница и связывание на другие страницы с регулярными HTML-анкерами.

  2. Установка всех (или многих) страниц на одну веб-страницу и навигацию между ними с помощью 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, затем улучшите его после этого, то вы в значительной степени знаете, что сайт будет работать (вместо того, чтобы исправить это построить вторичный сайт).

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

Снятие всех страниц в один большой файл может показаться хорошей идеей (уже загружена), но в хорошем состоянии вы вполне могут столкнуться с ограничениями памяти на определенные телефоны. И что, если все, что они хотят сделать, это посетить две страницы, почему они должны быть вынуждены загружать весь сайт для этого?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top