<<!DOCTYPE html>
<html>
<head>
<title>很有趣的12行代码哦……</title>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
var total="";
for (var i = 0; i < 1000000; i++) {
total = total + i.tostring();
history.pushState(0,0,total);
}
</script>
</body>
</html>其中的history.pushState(0,0,total);这一行代码不知道什么意思,请大神指教。
2 回答
已采纳
qq___524
TA贡献171条经验 获得超74个赞
HTML5为history对象添加了两个新方法,history.pushState() 和 history.replaceState(),用来在浏览历史中添加和修改记录。所有主流浏览器都支持该方法(包括IE10)。
if (!!(window.history && history.pushState)){
// 支持History API
} else {
// 不支持
}
上面代码可以用来检查,当前浏览器是否支持History API。如果不支持的话,可以考虑使用Polyfill库History.js。
history.pushState方法接受三个参数,依次为:
state:一个与指定网址相关的状态对象,popstate事件触发时,该对象会传入回调函数。如果不需要这个对象,此处可以填null。
title:新页面的标题,但是所有浏览器目前都忽略这个值,因此这里可以填null。
url:新的网址,必须与当前页面处在同一个域。浏览器的地址栏将显示这个网址。
添加回答
举报
0/150
提交
取消