来自星星的码农 - 个人博客

来自星星的码农 - 个人博客

有一次误点了一个网站,本来想后退一下,结果发现不仅退不出来,还跳到另一个页面(很明显是一个广告页面)。虽然当时有点郁闷,却引起了我的好奇,这么流氓,是怎么做到的。经过查看它的源码,发现了原来是监听了popstate时间,代码如下:

history.pushState(null, null, document.URL);
window.addEventListener('popstate', function () {
    history.pushState(null, null, document.URL);
    // window.location.href="http://www.baidu.com"
});