jquery mobile хранит фиксированный контент и загружает только контент - PullRequest
1 голос
/ 29 октября 2011

У меня есть страница с фиксированным макетом (т. Е. Верхний и нижний колонтитулы, навигация и т. Д.).Jquery mobile хорошо выполняет загрузку через ajax, но перезагружает всю страницу, в идеале я хотел бы загрузить только область содержимого.

Я подумал добавить div с data-role = "page"сказал бы jquery, какую область содержимого обновлять, но это, похоже, ничего не делает, просто действует как контейнер хранения для истории.

Я не могу найти атрибут в документации, чтобы установить, какой div должен быть контейнером.Это можно сделать просто?

Ответы [ 2 ]

1 голос
/ 30 октября 2011

К вашей идее "... в идеале я хотел бы загрузить только область содержимого". «Лучшая практика» для создания страниц - быть уверенным, что вы включаете все, что нужно странице для запуска. Это означает, что он должен включать любой верхний и нижний колонтитулы и быть связан с мобильными библиотеками и ресурсами jquery и jquery. Есть очень веская причина, почему.

Начиная с версии-кандидата 2 (последняя на момент написания этой статьи) система будет использовать перезапись URL-адресов для очистки отображаемых URL-адресов в адресной строке. Это облегчает просмотр источника, упрощает создание закладок и в случае обновления (что любой может сделать в любое время, и, поверьте мне, они это делают). Страница будет загружена с обновления до последней страницы, не загружая то, что вы считали своей начальной страницей. Если вы описали ситуацию выше, это приведет к тому, что на странице не будет заголовка, нижнего колонтитула, навигации и т. Д.

Уверенность в том, что каждая страница может быть автономной, также гарантирует, что, если ваши пользователи используют какие-либо корпоративные управляемые устройства, где их политика безопасности заставляет их отключать JavaScript, они все равно могут просматривать страницу в ее основной форме (нет аякс, без излишеств) и все равно делай то, что нужно. Написание страниц таким способом также делает так, чтобы люди, застрявшие в сотовом каменном веке (функциональные или раскладные телефоны), могли фактически использовать ваши страницы. Это может быть не красиво в любом из этих случаев, но это будет работать, и это самое главное.

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

Два ответа на ваши вопросы:

1) Несколько "страниц" могут быть загружены в одну HTML-страницу, что идеально подходит для веб-приложений.Разделу страницы назначается идентификатор, и вы можете переходить туда-сюда между страницами, не возвращаясь на сервер.Вы можете удалить верхний и нижний колонтитулы страницы в дополнительных элементах div страницы .... или оставить их прежними и не использовать переход страницы.

ИЛИ 2) Используйте JQuery для обновления элемента div.Это также легко, потому что JQuery Mobile уже использует JQuery в своих ссылках на скрипты.

<script> 
function loadcontent() { 
var strNewHtml;
strNewHtml = '<p>My New Text</p>';
$('#my-content-id-name').html(strNewHtml);
}
</script>
 add a link:  <a href = "#" onclick="loadcontent();">Click here</a>   

... и это должно быть сделано!

...