当然可以。要阻止history.popstate
在初始页面加载时触发,可以使用以下方法:
window.addEventListener
方法监听popstate
事件,并在回调函数中添加一个条件判断。window.addEventListener('popstate', function(event) {
if (event.state !== null) {
// 在这里编写你的处理逻辑
}
});
history.state
设置为一个非空值。if (history.state === null) {
history.replaceState({page: 1}, '');
}
这样,在初始页面加载时,history.state
不为空,因此popstate
事件不会被触发。
以下是一个完整的示例:
// 初始化页面时设置 history.state
if (history.state === null) {
history.replaceState({page: 1}, '');
}
// 监听 popstate 事件
window.addEventListener('popstate', function(event) {
if (event.state !== null) {
// 在这里编写你的处理逻辑
console.log('popstate 事件触发');
}
});
这样,在初始页面加载时,history.popstate
事件不会被触发。
领取专属 10元无门槛券
手把手带您无忧上云