«data-url» jQuery Mobile сбивает с толку - PullRequest
4 голосов
/ 13 января 2012

Может ли кто-нибудь пролить свет на атрибуты "data-url" в jQuery Mobile, в настоящее время я читаю документацию . Мне показалось это слишком запутанным, есть ли у рабочего демо или что-то подобное.

Пожалуйста, избегайте копирования контента с мобильного сайта jQuery, это может определенно помочь кто-то другой ищет то же самое в том же состоянии, что и я.

Ответы [ 2 ]

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

Вы смотрите на довольно старую ссылку документации.Последняя версия документации содержит больше информации о назначении атрибута data-url.Вы можете проверить новую версию 1.0 на соответствующей странице по следующей ссылке: http://jquerymobile.com/demos/1.0/docs/pages/page-navmodel.html

Я действительно искренне верю, что документация, особенно документация 1.0, объяснит это лучше, но я все равно попытаюсь:Чтобы по-настоящему понять атрибут data-url, вам необходимо понять модель jQuery Mobile, объединяющую все ваши HTML-страницы в один HTML-документ для вашего мобильного веб-сайта.Эти страницы обычно загружаются в один и тот же документ.При переходе к документу HTML с загруженной на страницу jQuery Mobile HTML-код будет проанализирован и будет отображена только одна «страница».

URL-адрес данных - это атрибут, который вы добавили в jQMстраница, чтобы включить навигацию Ajax.Когда вы нажимаете на ссылку, навигация jQM сначала ищет соответствующий атрибут data-url на странице.Например, если вы переходите на страницу с поддержкой jQM, которая имеет URL-адрес «example-host / some / path # / features / 123», jQuery Mobile сначала будет искать в текущем документе страницу jQM с атрибутом * 1006.*.Если он находит его, то скрывает текущую страницу jQM и отображает найденную.Если он не находит его, он пытается выполнить запрос Ajax по URL-адресу «example-host / features / 123», загружая содержимое как еще одну страницу jQM, если находит действительную страницу.

ЭтиСсылки на документацию jQM должны предоставить дополнительную помощь:

Анатомия страницы

Модель страницы jQM

3 голосов
/ 15 апреля 2014

Существует еще один очень важный вариант использования для data-url - во время перенаправления:

Допустим, пользователь переходит на /store/youraccount, но он не вошел в систему. Ваш сервер, вероятно, перенаправит ихна страницу входа /store/login.Это возвращается к браузеру как редирект 301, который загружается без jQuery Mobile, даже не зная об изменении.Страница будет отображаться правильно, но URL-адрес в верхней части будет по-прежнему store/youraccount.

. Если на странице входа в систему установлено значение data-url, jQuery mobile может корректно обновить URL-адрес после перенаправления, что означает, что он можетбудут добавлены закладки и теги <form> без указания action.

Как data-url останавливает <form> от разрывов:

Если ваша страница содержит тег <form>, определенный безАтрибут action, тогда поведение по умолчанию - отправлять обратно на текущую страницу - да, вы уже догадались, что браузер все еще думает, что мы находимся /store/youraccount

Так что, когда вы ставите data-url='/store/login, он может корректно обновитьURL.

<div data-role="page" data-url="/store/login" 
     class="ui-page ui-body-c ui-page-active" id="page_">

Примечание: даже если ваша форма имеет action, вам все равно потребуется установить data-url.Это всего лишь пример, показывающий, как отключение URL-адреса может привести к поломке.

...