, , , , . . HTML:
<ul id="nav">
<li id="home-link"><a href="home" class="ajaxify" title="Home">Home</a></li>
<li id="work-link"><a href="work" class="ajaxify" title="Work">Work</a></li>
<li id="labs-link"><a href="labs" class="ajaxify" title="Labs">Labs</a></li>
<li id="blog-link"><a href="blog" class="ajaxify" title="Blog">Blog</a></li>
</ul>
<div id="content">Home Content</div>
Javascript:
<script type="text/javascript">
var directory = 'content/';
var state = History.getState();
$('.ajaxify').on('click', function(e){
var $this = $(this);
var href = $this.attr('href');
$.ajax({
url: directory + href + '.html',
dataType: 'html',
success: function(data) {
$('#content').html(data);
History.pushState(null,href, href + '.html');
}
});
e.preventDefault();
});
$(window).on('statechange', function(){
state = History.getState();
$.ajax({
url: directory + state.title + '.html',
dataType: 'html',
success: function(data) {
$('#content').html(data);
}
});
});
</script>
, , , 'ajaxify', , . , , history.js pushSate(), , , URL- . "", statechange . , URL-. php, , .
, Github: https://github.com/eivers88/ajaxify-simple-demo
, ajax -, MAMP WAMP. Chrome . firefox .