gpt4 book ai didi

javascript - 为什么 location.hash 上的输出不自动刷新?

转载 作者:行者123 更新时间:2023-12-01 01:20:51 26 4
gpt4 key购买 nike

点击链接时不会输出新位置哈希。

我不明白为什么浏览器不输出更新后的变量。

<html>
<body>
<p></p>
<a href="#2019-01">1</a>
<a href="#2019-02">2</a>
</body>
<script>
var p = document.querySelector('p');
p.innerHTML = location.hash;
</script>
</html>

当我点击第一个链接时,浏览器中的地址更改为#2019-01,但 p.innerHTML 不显示任何内容。我预计它会显示#2019-01。

如果我按 crtl r 重新加载页面,则 p.innerHTML 显示 #2019-01。

为什么我必须强制重新加载才能获得输出?有没有办法在不重新加载页面的情况下获取更新的 location.hash 值?

最佳答案

我建议您创建一个 showHash 函数,然后在页面加载时立即调用它。此外,您可以向 window.onhashchange 添加事件监听器,以便在哈希值发生变化时调用 showHash 函数。

showHash();

function showHash() {
var p = document.querySelector('p');
p.innerHTML = location.hash;
}

window.onhashchange = showHash;
<html>
<body>
<p></p>
<a href="#2019-01">1</a>
<a href="#2019-02">2</a>
</body>
</html>

关于javascript - 为什么 location.hash 上的输出不自动刷新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54242867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com