javascript - 我想在 onpopstate 事件上写一些代码而不刷新页面
问题描述
我正在为电子商务网站创建搜索页面,我们可以在其中按创建动态 URL 的不同方面进行搜索,并且我只刷新视图而不刷新页面。现在,如果用户按下浏览器的来回按钮,我只想用相关数据重新加载视图而不重新加载页面。我正在使用下面的代码来捕获来回按钮事件但它会自动重新加载页面。
有什么办法可以防止这个页面刷新吗?
window.onpopstate = function (event) {
console.log("pop!");
window.getProducts();
window.getArticles();
event.preventDefault();
event.stopImmediatePropagation();
};
解决方案
您可以使用 h5 历史记录来更改 url,像这样
window.history.pushState('', '','about');
并将 popstate 侦听器添加到窗口。
推荐阅读
- mysql - MySQL 填充链接表
- python - 如何在 Python 中嗅探 Flatbuffers?
- gerrit - Gerrit 无法启动:
- jquery - JQuery:prettyPhoto() - 在 Internet Explorer 中使用时,它会尝试下载视频
- macos - 未找到目标执行命令 - Visual Studio for macOS 中的 ASP.NET Core 项目
- visual-studio-code - vs代码快速打开
- cordova - Admob 和地理位置组合不起作用
- c# - DataGridViewComboBoxCell 默认显示行值
- apache - htaccess 阻止在 chrome 中使用全局 SSL 重定向
- html - 关闭选择下拉菜单时调整内容文本的大小/换行