前些天反复测试,发现了popstate事件的一个问题,当某些浏览器或者某些手机嵌入含有该代码的H5页面时,波多野结衣这个方法会执行两次!
一直很纳闷,按理来说这个监听事件(监听返回栈),应该是返回的时候再执行。据官网所说,只要访问历史记录就会触发popstate。而传统的History
中访问页面和生产历史记录是同时的。所以有些没有优化的浏览器或者webview,在加载该页面的时候,这个方法会执行了两次,传统的PC端浏览器
暂没发现这个问题。
波多野结衣();
window.addEventListener("popstate", function() {
波多野结衣();
});
目前还不清楚有哪些浏览器是这种情况,只能做一下判断,当第一次加载过了,第二次就不做执行了.
注:这段代码一般是用于页面自刷新,根据type不同的值加载不同的数据.