<body>
<div id="target">
<a href="/#/ccc">dianji</a>
</div>
</body>
<script type="text/javascript" src="js/jquery.js"></script>
<script>
$("a").click(function(evt) {
evt.preventDefault(); // 阻止默认的跳转操作
var uri = $(this).attr('href');
var newTitle = ajax_Load(uri); // 你自定义的Ajax加载函数,例如它会返回newTitle
document.title = newTitle; // 分配新的页面标题
var bbb = document.getElementById("target").innerHTML;
if(history.pushState) {
var state = ({
url: uri,
title: newTitle,
bbb: bbb
});
document.getElementById("target").innerHTML = "bbb";
window.history.pushState(state, newTitle, uri);
} else {
window.location.href = "#!" + ~fakeURI;
} // 如果不支持,使用旧的解决方案
return false;
});
function ajax_Load(uri) {
return "aaa";
} // 你自定义的ajax函数,例如它会返回newTitle
window.addEventListener('popstate', function(evt) {
var state = evt.state;
console.log(state);
var newTitle = ajax_Load(state.title); //你自定义的ajax加载函数,例如它会返回newTitle
document.getElementById("target").innerText= state.bbb;
document.title = newTitle;
}, false);
</script>