ブラウザの履歴バックイベントを防ぐことは可能ですか?
ハッシュ タグ付きの 1 ページの Web サイトがあります。履歴をクリックして戻ると、最後のハッシュ タグの位置にスライドしたいと思います。解決策はありますか?
ブラウザの履歴バックイベントを防ぐことは可能ですか?
ハッシュ タグ付きの 1 ページの Web サイトがあります。履歴をクリックして戻ると、最後のハッシュ タグの位置にスライドしたいと思います。解決策はありますか?
これらのボタンや履歴バック機能を操作する方法はありません。
編集
以下で述べたように、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を参照してください。
この小さなコードを試してみてください。
<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");
}