Я хочу создать страницу, которая обновляет содержимое в асинхронном режиме div, предоставляя пользователю привязку для прямого доступа к содержимому в div. (например, www.website.co.uk/#page1)
Мне удалось сделать так, чтобы контент можно было обновить для 1 страницы, однако, если я добавлю несколько страниц, он перестанет работать
Дополнительно - если бы я должен был перейти к URL-адресу website.co.uk/#page1, он не отобразил # page1.
Может ли кто-нибудь помочь?
Это мой текущий код:
HTML:
<h5> <a href="#page1">Test</a></h5>
<h5> <a href="#page2">Test2</a></h5>
JS:
<script type="text/javascript">
var routes = {
'#page1' : '{{site.url}}/page1'
'#page2' : '{{site.url}}/page2'
};
var routeHandler = function( event ) {
var hash = window.location.hash,
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("div1").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", routes[hash], true);
xhttp.send();
};
window.addEventListener('hashchange', routeHandler);
window.addEventListener('load', function() {
var hash = window.location.hash;
if (routes.hasOwnProperty(hash)) routehandler();
});
</script>