很厉害的代码,不懂求大神解释……

<<!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);

这一行代码不知道什么意思,请大神指教。

zhangyudemuke
浏览 1926回答 2
2回答

qq___524

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:新的网址,必须与当前页面处在同一个域。浏览器的地址栏将显示这个网址。

我也有梦想啊

浏览器会崩溃吧感觉,history.pushState好像是添加历史记录的
打开App,查看更多内容
随时随地看视频慕课网APP