html5 history.pushState

春节就是一个糟蹋钱财的节日,其实从小时候就开始讨厌这个节日了,春节晚会可否取已,各个垄断为之赚钱,银行不按时上班 了,交通赚的钱可能比平常日子翻几倍,但是我们工资什么时候翻几倍呢。

归正:我们知道HTML5的history有pushState,replaceState,popState,比如history.go(int number),返回前进页面,那么我前所说的大家用过没呢,其实它是更改我们路由的,当然一个浏览器的承载history是一定的,当无限的添加会导致电脑死机,尤其是快速的添加;那么下面给出一段有可能摧毁浏览器甚至让你电脑死机的代码,24k纯金请看好了

function pushState(){
    //判断是否支持history
    if (!!(window.history && history.pushState)){
        console.log(" 支持History API");
        var i =0 ,max=200000;
        for(i;i<max;i++){
            history.pushState(null,null,i);
        }
    } else {
        console.log("不支持history");
    }
}
//state:一个与指定网址相关的状态对象,popstate事件触发时,该对象会传入回调函数。如果不需要这个对象,此处可以填null。
//title:新页面的标题,但是所有浏览器目前都忽略这个值,因此这里可以填null。
//url:新的网址,必须与当前页面处在同一个域。浏览器的地址栏将显示这个网址。

放到console 里运行查看效果  历史记录多了200000条记录,此时电脑没卡住,那是因为你max设置小了,不放再大些,再长些,别有用心的人用到手机上效果也不错,直接熄火重启。

玩坏了别怪我哈



你可能感兴趣的:(pushState)