html5的history问题,pushstate问题

看了好久看不懂这些代码是什么意思,求大神告知,

 if (window.history && history.pushState) {
            history.pushState(title, 'title没有任何浏览器支持', '?t=' + title);
 } else {
            console.log('不支持');
  }


    window.addEventListener('popstate', function(e) {
        content.innerHTML = data[e.state];
      });


            var search = window.location.search; 
      var title = search.split('=')[1]; // ['?t','jkaljdksfla']
      if (title) {
        console.log(decodeURI(title));
        content.innerHTML = data[decodeURI(title)];
      }



html5的pushState ,地址栏更改(非hash)也不会刷新页面
http://blog.csdn.net/tianyitianyi1/article/details/7426606
http://www.zhangxinxu.com/wordpress/2013/06/html5-history-api-pushstate-replacestate-ajax/

popstate事件
http://www.tuicool.com/articles/MvYnY3U

其他就是一些基础js,设置容器显示内容。

data没见申明代码,应该是个json对象,缓存数据用的