Как загрузить многостраничный шаблон через AJAX с помощью мобильного телефона jQuery? - PullRequest
4 голосов
/ 12 января 2012

У меня проблема с моим веб-приложением: когда я открываю страницу «многостраничного шаблона» в своем браузере, я вижу обе страницы в DOM, но активна только одна, это логично, об этом ничего не сказано.

Но когда я загружаю страницу «многостраничного шаблона» с предыдущей страницы, используя ajax-переходы, я вижу предыдущую страницу в DOM (также логично: чтобы не загружать эту страницу снова, если пользователь хочет вернуться назад)), но загружена только одна из страниц, которые находятся на моей странице «многостраничного шаблона» (первая).

Я думал, что допустил ошибку во время всего процесса в javascript: я автоматически удаляю неактивные страницыпосле загрузки, чтобы избежать конфликтов ID, но я написал особый случай для этой страницы, не используя мою функцию auto-page-deletetion.И это прекрасно работает, когда я открываю «шаблон многостраничного» в моем браузере (обе страницы в DOM, мой код «особого случая» работает)

Итак, я перешел на страницу документации: http://jquerymobile.com/demos/1.0/docs/pages/page-anatomy.html

Я прокрутил вниз до части: «Многостраничная структура шаблона», щелкнув правой кнопкой мыши по кнопке «Просмотр многостраничного шаблона»> «Изучить элемент». Мы видим код:

<a href="../../docs/pages/multipage-template.html" 
data-inline="true" 
data-theme="b" 
data-role="button" 
rel="external" 
class="ui-btn ui-btn-inline ui-btn-corner-all ui-shadow vt-p ui-btn-up-b">
<span class="ui-btn-inner ui-btn-corner-all" aria-hidden="true"><span class="ui-btn-text">View multi-page template</span></span>
</a>

,код rel = "external" означает, что эта страница не будет загружена с помощью Ajax-перехода, и когда вы нажимаете на эту кнопку, многостраничный шаблон работает отлично (но он не загружается с помощью AJAX ...)Возвращаясь к коду кнопки, я динамически удалил атрибут rel = "external" из DOM, поэтому страница будет загружена в ajax.Я нажал на кнопку, многостраничный загрузился хорошо, но было невозможно добраться до страницы «#two».И после быстрого взгляда на DOM: страница id = "two" не была там, не загружена фреймворком.

Так что это, вероятно, нормальное поведение, но есть ли способ загрузить ВСЕ внутренниестраницы многостраничного шаблона при использовании ajax-перехода?

(извините за мой плохой английский, надеюсь, он все еще понятен)

1 Ответ

3 голосов
/ 13 января 2012

Это нормальное поведение, но есть обходной путь. Проверьте jQuery-Mobile-Subpage-Widget Тодда Томсона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...