Код изменения контента страницы без перезагрузки страницы. Своего ничего практически, всё по примеру -
http://diveintohtml5.info/examples/history/fer.html, за исключением только что асинхронности (в примере - синхронно). С pushstate проблем никаких. А вот по поводу самого изменения контента возникли некоторые вопросы:
1. responeText - как эта штука работает? я прописываю
document.getElementById("content").innerHTML = req.responseText;
А он мне меняет всю страницу...
Правда, по-моему, когда было синхронно, он мне вообще новую страницу полносью загружал вот в этот указанный див.
А менял я
function swapPhoto(href) {
var req = new XMLHttpRequest();
req.open("GET",
"http://achacha/chacha/" +
href.split("/").pop(),
false);
req.send(null);
if (req.status == 200) {
document.getElementById("content").innerHTML = req.responseText;
setupHistoryClicks();
return true;
}
return false;
}
На вот это
function swapPhoto(href) {
var req = new XMLHttpRequest();
req.open("GET",
"http://achacha/chacha/" +
href.split("/").pop(),
true);
req.onreadystatechange = function() {
if (req.readyState == 4) {
if(req.status == 200) {
document.getElementById("content").innerHTML = req.responseText;
setupHistoryClicks();
return true;
}
}
};
req.send(null);
return false;
}
Вкратце страница такая:
<body>
<div id="menu">
<a href="" id="ssylka">Ssylka</a>
</div>
<div id="content">
<p>Abyr-abyr</p>
</div>
</body>
А меняет мне оба дива..
2. Как проще всего сделать так, чтобы страница не дёргалась (не прибивалась к верху), когда меняем этот контент...ну так, чтоб всё плавно было..?