jquery mobile - запрос многостраничной страницы через changePage - PullRequest
1 голос
/ 19 октября 2011

Со страницы индекса сайта я загружаю другую страницу, которая имеет 3 деления с ролью данных страницы. Однако jquery mobile добавляет к странице только одну из страниц.

Я предполагаю, что функция changePage захватывает первый div с ролью данных страницы и вставляет его. Интересно, есть ли способ заставить его вставить все элементы div с ролью данных страницы или диалога.

Любая помощь более чем ценится. спасибо

Ответы [ 3 ]

0 голосов
/ 20 февраля 2013

Вы можете использовать плагин "subpage", чтобы получить желаемое поведение.В основном одна страница содержит несколько подстраниц, которые загружаются в DOM.Шаблон будет выглядеть так:

<div data-role="page">
    <div data-role="subpage">
    </div>
    <div data-role="subpage">
    </div>
    <div data-role="subpage">
    </div>
</div>

Проект доступен здесь: https://github.com/ToddThomson/jQuery-Mobile-Subpage-Widget. У меня лично были проблемы с этим плагином, но я думаю, что для простых сценариев он работает нормально.Также нет документации для этого.Например, я до сих пор не знаю, как правильно вызывать $ .mobile.changePage () с этим плагином.:)

0 голосов
/ 02 января 2015

Согласно JQM на этой странице : "В настоящий момент jQuery Mobile поддерживает загрузку одностраничных документов только через AJAX. Чтобы перейти к многостраничному документу, необходимо отключить ajax в ссылке, добавив атрибут data-ajax =" false ". Существует также виджет для поддержки подпрограмм. -страницы Тодда Томпсона доступны по номеру https://github.com/ToddThomson/jQuery-Mobile-Subpage-Widget"

Вы также можете добавить атрибут rel="external" к href, указывающему на страницу B.

rel="external" и data-ajax = "false" заставят JQM загрузить всю страницу как новую. К сожалению, похоже, это лишает возможности использовать переход страницы из PageA в PageB.

Пример: <a href="/view/pageB/" rel="external"> Page B </a>

Сейчас я хочу загрузить страницу B методами JQM, а не полагаться на автоматические механизмы. Похоже, что вы должны использовать одну шаблонную страницу на всем протяжении (как рекомендуется) или метод загрузки Pagecontainer (по сути, такой же, как на одной странице), если вы хотите, чтобы переходы хэштега находились внутри «одной страницы» после первоначальной загрузки DOM. Например, ссылка на одну страницу, прослушивает "pageinit" этой страницы, затем использует pagecontainer ("load") . Убедитесь, что следующая страница (страница, которую вы вводите) не нужна как прямая входящая страница.

0 голосов
/ 20 октября 2011

То, что вы пытаетесь сделать, в настоящее время невозможно с JQM, так как в DOM загружается только первая страница из многостраничного режима.

Я бы указал на ссылку в документации JQM, котораяобъясните это поведение, но его нет ... Я уже подал это как проблему на Github, так что Документы, по крайней мере, проясняют, что вы можете делать, а что не работает с несколькими страницами.

Как яЯ застрял с той же проблемой, я начал писать плагин, чтобы иметь возможность загружать многостраничные (среди прочего).У меня еще есть несколько вещей, чтобы разобраться, но когда он работает, я могу отправить вам ссылку.

...