Существует еще один очень важный вариант использования для 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-адреса может привести к поломке.