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

时间:2016-04-20 07:20:48

标签: javascript html hyperlink

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

考虑以下基本示例:

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

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

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

之类的外部链接一样

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

2 个答案:

答案 0 :(得分:1)

您可以在事件结束后安排click计划的链接中添加location.reload()处理程序。

以下是使用委托处理的方法:

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);

你可能想过滤一下。

答案 1 :(得分:1)

使用此

    <script>
function gototab(reload)
   {
    window.location.href = 'test.php#content';
    window.location.reload(true);
   }
</script>

<a href="#content" onclick="gototab();">Go to Content</a>