<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div class="container">
<div class="jumbotron" id="contentHolder">
<!--<h1>Home!</h1>-->
<!--<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>-->
//history有三个
history.replaceState() 修改路径中的参数 不会添加历史数据
history.pushState() 修改路径中的参数 会添加历史数据
popstate事件 是返回的时候 会执行的事件
</div>
</div>
</body>
<script src="./build/jquery.min.js"></script>
<script type="text/javascript">
jQuery('document').ready(function () {
(function(url, addEntry) {
$.get('about.html')
.done(function (data) {
$('body').html(data);
if (addEntry == true) {
history.replaceState(null, null, url);//路径中默认添加的参数 用replace所以不能返回
}
});
}());
jQuery('.historyAPI').on('click', function (e) {
e.preventDefault();
var href = $(this).attr('href');
getContent(href, true);
});
});
window.addEventListener("popstate", function (e) {
getContent(location.pathname, false);//返回的时候 会执行的方法 可以在返回的时候 ajax请求 因为监控了路径的参数的变化
});
function getContent(url, addEntry) {
$.get(url)// url => about.html 类似这种 about.html 则可以直接为元素 不用写文档模型 DOCTYPE等元素
.done(function (data) {
$('body').html(data);//注意:是先请求成功,返回数据。
if (addEntry == true) {
history.pushState(null, null, url);//每次请求返回后,就添加历史数据
}
});
}
</script>
</html>
history api
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 本文由尚妆前端开发工程师欲休撰写本文发表于尚妆博客,欢迎订阅! 移动端开发在某些场景中有着特殊需求,如为了提高用户...
- 原文:抱歉找不到了 HTML5 的 History API 可以让开发者不刷新整个页面就可以修改网站的 URL。这...
- EhsanTang/ApiManager: ApiManager - CrapApi免费开源API接口管理系统、A...
- History使用back(), forward(), Go() 可以在用户历史记录中前进和后退。 Ajax + ...