Вы можете начать с чего-то очень простого и использовать плагин Hashchange или BBQ . Прочитайте руководства для обоих, и вы поймете идею.
И вот краткое и общее введение: http://code.google.com/intl/en-EN/web/ajaxcrawling/docs/html-snapshot.html
ОБНОВИТЬ:
Хорошо, давайте возьмем плагин Hashchange в качестве примера. Следующий код очень примитивен, но я думаю, что он поможет понять основную часть
HTML:
<ul>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact Us</a></li>
<li><a href="/links">Links</a></li>
</ul>
<div id="page"></div>
JS:
$(function(){
/*
* We override the default
* behaviour of our links
* and change the hash of the URL,
* e.g. '/contact' -> '#contact',
* so the address bar of the browser
* would change to
* 'http://example.com#contact'
*/
$('ul').find('a').click(function() {
var hash = $(this).attr('href').replace('#', '');
window.location.hash = hash;
return false;
});
/*
* The main hashchange logic
*
* We use jQuery.load to retrieve
* a specific part of the loaded document,
* #page here
*/
$(window).hashchange(function() {
var newLoc = window.location.hash.replace('#', '');
$('#page').load('/' + newLoc + ' #page');
});
$(window).hashchange();
});