Javascript 强制HTML内部链接/片段标识符(#)重新加载页面
如何使内部链接像另一个HTTP请求一样重新加载页面 考虑以下基本示例:Javascript 强制HTML内部链接/片段标识符(#)重新加载页面,javascript,html,hyperlink,Javascript,Html,Hyperlink,如何使内部链接像另一个HTTP请求一样重新加载页面 考虑以下基本示例: #内容{页边距顶部:1400px;} 内容您可以向链接添加一个单击处理程序,该链接计划在事件完成后执行位置.reload() 下面是一个使用委托处理的示例: document.body.addEventListener("click", function(e) { var node = e.target; while (node && node != this) { if
#内容{页边距顶部:1400px;}
内容
您可以向链接添加一个单击
处理程序,该链接计划在事件完成后执行位置.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);
您可能需要对此进行一点过滤。您可以添加一个
单击处理程序,以将位置。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);
您可能需要对其进行一些过滤。使用此选项
<script>
function gototab(reload)
{
window.location.href = 'test.php#content';
window.location.reload(true);
}
</script>
<a href="#content" onclick="gototab();">Go to Content</a>
函数gototab(重新加载)
{
window.location.href='test.php#content';
window.location.reload(true);
}
使用此
<script>
function gototab(reload)
{
window.location.href = 'test.php#content';
window.location.reload(true);
}
</script>
<a href="#content" onclick="gototab();">Go to Content</a>
函数gototab(重新加载)
{
window.location.href='test.php#content';
window.location.reload(true);
}
check out@maioman这与我想要的正好相反。check out@maioman这与我想要的正好相反。这需要更多的维护,再加上单击onclick
prop添加到锚固件。无论如何,感谢您的努力,这将需要更多的维护,再加上在锚上添加onclick
prop。无论如何,感谢您的努力快速提问:为什么必须将其包装在setTimeout
函数中?@Aziz:我这样做是为了在重新加载开始之前完成事件。如果您在事件处理期间这样做,我认为哈希不会添加到地址栏中。此外,如果链接指向另一个页面,允许事件完成(我相信)将允许用户转到另一个页面,而我不能保证立即重新加载不会妨碍这一点。但是在你的目标浏览器上尝试一下。快速问题:为什么必须将它包装在setTimeout
函数中?@Aziz:我这样做是为了在重新加载开始之前完成事件。如果您在事件处理期间这样做,我认为哈希不会添加到地址栏中。此外,如果链接指向另一个页面,允许事件完成(我相信)将允许用户转到另一个页面,而我不能保证立即重新加载不会妨碍这一点。但是在你的目标浏览器上尝试一下。