2013-03-04 3 views

ответ

2

Если у вас нет серьезной проблемы в вашем приложении, то, что вы описали, является нормальной ситуацией.

Хотя переход страницы может занять много времени (обычно страница время загрузки/переход на настольных браузеров составляет 670 мс), загрузка страницы в DOM занимает всего несколько миллисекунд (обычно 3-5 мс). AJAX загрузчик будет показывать, только если загрузка страницы (в DOM) занимает более 10 мс. Другие действия по переходу на страницу не включаются в AJAX вызов такой анимации не будет отображаться после того, как страница будет загружена в DOM.

Действия во время загрузки страницы/перехода:

  • загрузки страницы и обработки: 3ms (AJAX погрузчик будет показывать только во время этой акции, если она принимает более 10мс)
  • Страница повышения: 45ms
  • Переход: 604ms

Чтобы узнать больше об этом, посмотрите на мои другие ARTICLE, или найти его HERE, поиск главы под названием: Страница изменения времени

Еще одна вещь, если вы не используете обычную загрузку страниц AJAX погрузчик не будет шоу (если ваша ссылка имеет атрибут rel="external" или data-ajax="false").

0

Для обеспечения того, чтобы ajax-навигация выполнялась по умолчанию, JQuery Mobile добавит навигацию ajax к страницам, загружаемым в DOM, пока вы НЕ добавляете атрибут data-ajax = "false" к вашим ссылкам и кнопкам. В противном случае вы можете добавить глобальную модификацию, которая отключила навигацию ajax на определенных страницах.

ИЛИ у вас может быть rel = "внешний" как атрибут в некоторых ваших ссылках и кнопках, что отключает навигацию ajax.

Если вы могли бы быть более конкретным, то есть опубликовать пример jsfiddle вашей проблемы, я мог бы дать вам лучшее объяснение. Также укажите, какую версию JQuery Mobile вы используете.

0

когда вы делаете это:

$.mobile.changePage("#page-home", { transition: "none"}); 

добавить следующее:

$.mobile.showPageLoadingMsg(); 

не забудьте добавить

$.mobile.hidePageLoadingMsg(); 

в конце функции Pageload

Смежные вопросы