На моей странице контейнер содержимого содержит различную информацию, в зависимости от того, какой элемент списка был нажат (новости, видео, блог и т. Д.) Это достигается путем загрузки в html-фрагментах с помощью метода загрузки jQuery :Создать общую ссылку после загрузки AJAX
$('#container').load('blog.html'); // file from my domain
После загрузки, я могу обновить URL с помощью этого:
window.history.pushState("www.mysite.com", "mysite", "/blog");
Или изменить хэш:
window.location.hash = "blog";
Когда ссылка посещена напрямую, это вызывает ошибку, поскольку на моем хосте нет информации о такой странице. После загрузки AJAX мне интересно, как наилучшим образом было бы сделать текущее состояние страницы доступной (я отправляю ссылку кому-то, и когда они посещают ее, они видят состояние страницы так, как было, когда я разделили ссылку)? Ссылка будет примерно такой: www.mysite.com/blog
.
AJAX
нагрузка:
$('li a').on('click', function(){
var file = this.id;
$('#container').load(file +'.html');
// window.history.pushState("www.mysite.com", "mysite", "/" + file); or..
// window.location.hash = file;
return false;
});
P.S. Я хотел бы избежать использования php
для простоты, но я открыт для всех предложений.
Как насчет того, когда используется window.history.pushState? – Musa