Как мне написать приложение Jquery Mobile для браузеров с поддержкой javascript и без нее? - PullRequest
2 голосов
/ 07 января 2011

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

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

  1. Загрузка каждой страницы как отдельной страницы и ссылки на другие страницы с помощью регулярных привязок html.

  2. Размещение всех (или нескольких) страниц на одной веб-странице и перемещение между ними с помощью JavaScript ($ .mobile.changePage (метод) и аналогичных API-функций.

Первый подход должен работать во всех браузерах, но он работает довольно плохо, поскольку между переходами между страницами существует задержка.

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

Похоже, яНужно реализовать мое приложение дважды, один раз оптимизированный для браузеров с поддержкой javascript, один раз для браузеров без? Использование может быть другим вариантом, но это выглядит еще более запутанным.

Каков рекомендуемый способ решения этой дилеммы?ничего я не заметил?

Спасибо,

Адриан

Ответы [ 2 ]

2 голосов
/ 07 января 2011

Прежде всего: ваша точка2 неверна.

См. Локальные, внутренние ссылки на "страницы" здесь и внимательно прочтите их. Ссылка href="#pageelementid" будет работать нормально и работать в любом браузере с поддержкой HTML4 [может потребоваться <a name="pageelementid"> в некоторых случаях, я больше не уверен], с той лишь разницей, что все страницы видны одновременно. 1007 *

Во-вторых, если вы используете способ номер 1, он тоже будет выглядеть довольно хорошо. Да, он будет загружаться, но в браузерах с поддержкой javascript он загружается с помощью AJAX, и между страницами нет мерцания. Также - всплывающее окно «загрузки».

jQuery Mobile должен позволять вам создавать приложения с каким-то чистым и простым html без JS. Сам JQM берет на себя улучшение страницы, чтобы она выглядела хорошо и использует AJAX. Попробуйте создать приложение, которое будет работать в любом браузере (мое вдохновение: lynx) и использовать для этого разметку JQM. Любой javascript, который вы готовы написать, должен работать как улучшение, улучшая его, а не заставляя работать вообще.

удачи в этом!

0 голосов
/ 07 января 2011

В настоящее время мы думаем о поддержке меньших браузеров, чтобы не изящно ухудшать, а улучшать.Если вы создаете сайт с нуля, чтобы работать без JavaScript, а затем улучшаете его, то вы в значительной степени знаете, что сайт будет работать (вместо того, чтобы исправить его или построить вторичный сайт).

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

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

...