javascript - 强制 HTML 内部链接/片段标识符 (#) 重新加载页面

标签 javascript html hyperlink

如何让内部链接重新加载页面,就好像它是另一个 HTTP 请求一样?

考虑以下基本示例:

#content {margin-top:1400px;}
<a href="#content">Go to Content</a>

<section id="content">Content</section>

Go to Content anchor 将滚动到目标部分,并将哈希值 #content 添加到 URL (example.com/#content) 。我如何强制它重新加载/刷新页面,就好像它是像 example.com/content/

这样的外部链接

接受服务器端或 JavaScript 解决方案。

最佳答案

您可以向链接添加一个 click 处理程序,安排在事件完成后发生 location.reload()

这是使用委托(delegate)处理的一个:

document.body.addEventListener("click", function(e) {
    var node = e.target;
    while (node && node != this) {
        if (node.nodeName.toUpperCase() == "A") {
            setTimeout(function() {
                location.reload();
            }, 0);
            return;
        }
        node = node.parentNode;
    }
}, false);

您可能需要对其进行一些过滤。

关于javascript - 强制 HTML 内部链接/片段标识符 (#) 重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36736554/

相关文章:

java - 通过超链接从 jsp 向 servlet 传递值

html - CSS 不适用于通过内部链接访问 id 标签的页面

javascript - 使用ajax输入jquery意外结束

javascript - 从多维数组中获取数组名称

javascript - rails : Simple Ajax post to filter index results

html - Css 属性更改没有响应

javascript - 我想从最后一个 <li> 标签中删除 <hr> 标签

javascript - Sharepoint - 如何从列表中的 Javascript 表单中删除链接

javascript - 将任意嵌套对象转换为字符串的递归函数

javascript - 如何使用 meteorjs 和 iron 制作哈希标签 :router?