是否可以防止浏览器历史记录返回事件?
我有一个带有井号标签的单页网站 - 当点击历史记录时,我想滑到最后一个井号标签位置。有什么解决办法吗?
是否可以防止浏览器历史记录返回事件?
我有一个带有井号标签的单页网站 - 当点击历史记录时,我想滑到最后一个井号标签位置。有什么解决办法吗?
试试这一小段代码。
<html>
<head>
<script>
window.onbeforeunload = function () {
return "you wanna to go Back????";
}
</script>
</head>
<body>
Blah Blah Blah Blah
</body>
</html>
如果您按下后退按钮,它将给出一个事件。希望能帮助到你
$(document).ready(init);
function init() {
window.onhashchange = locationHashChanged;
}
function isSection(section) {
if ($('.' + section).length > 0) {
return true;
}
else {
return false;
}
}
function locationHashChanged() {
var section = location.hash;
var section = section.replace("#", "");
if (isSection(section)) {
SelectNavItem(section);
}
}
function SelectNavItem(item) {
$("nav a").removeClass("selected");
$("[href=#" + item + "]").addClass("selected");
}
无法与这些按钮或历史返回功能进行交互。
编辑
正如我在下面所说,您可以使用 window.onhashchange()。这是一个例子:
window.onhashchange = function(e) {
//hash changed
//yourFunction(location.hash);
}
没什么,你可以从位置对象中获取新的哈希值,我猜也可以从事件 (e) 中获取。查看https://developer.mozilla.org/en-US/docs/Web/API/window.onhashchange?redirectlocale=en-US&redirectslug=DOM%2Fwindow.onhashchange了解更多详情。