Я делаю первые шаги с jquery. У меня есть файл index.php, который включает:
заголовок.html
indexview.html
- нижний колонтитул.html.
В файле indexview.html есть два div. Один слева (меню) и один справа (div id="content"). Всякий раз, когда я нажимаю элемент в левом меню, jquery отвечает за загрузку других html-страниц (и, в конечном итоге, за получение данных из БД благодаря ajax) В правый div (div id="content"). Мне очень нравится такой подход, но проблема в том, что если, например, я загружаю:
Фото.html
Контакты.html
Информация.html
В главный div (правый: div id="content"), а затем я нажимаю стрелку назад, это просто приводит меня к index.php с загруженной страницей indexview.html (вместо того, чтобы показывать мне контакты-> фото-> индексное представление).
Я уже сделал несколько поисков в Интернете и выяснил, что мне следует создать что-то, что извлекает URL-адрес, благодаря обработчику событий «popstate». Я уже немного покопался в этом или в небольшой структуре, которая может позволить мне справиться со всем этим, но все же я не совсем понимаю, что я должен делать. Элементы слева НЕ являются «<a>
ссылками» и, конечно же, не имеют атрибутов href. Должен ли я заменять каждый элемент (теперь элемент li) элементом <a>
? Если да, то как мне сделать так, чтобы история работала так, как я хочу?
P.s. Конечно, каждый раз, когда я загружаю что-то в свой правый div (фото.html, контакты, html и т. д.), мой URL-адрес НЕ меняется.
Вот немного jsfiddle (не уверен, что это может помочь: сомневаюсь). Нажатие на любой элемент в меню делает jquery load() html-страницей в правом div («переопределение» div, где вы «находите Добро пожаловать, это веб-интерфейс интегрированной системы управления информацией ... и т. Д.!»).
$("#listContact").click(function(){
$("#content").load('view/contacts.html');
document.title = 'Contacts';
});
Когда я нажимаю listContact, contact.html загружается в div содержимого.