在我的整个网站中,我有很多锚标记将用户发送到另一个网页上的特定 div(例如 href="books.php#first")。我想从 URL 中删除 #。我曾尝试使用 .htaccess 但根据我所阅读的内容,重写 # 是不可能的。我想问一下我可以使用什么另一种方法来从我的 URL 中删除 #。我发现使用 jQuery 或 JavaScript 滚动到单个网页中的特定点可以实现类似的功能,但是,我无法找到有关如何在不同页面上执行此操作的答案。
1 回答
湖上湖
TA贡献2003条经验 获得超2个赞
您可以像这样使用 localStorage 或 sessionStorage:在锚标记所在的第一页中
<a href="page.html" onclick="localStorage.setItem('anchor' , 'mydiv')"> Link</a>
在目标页面
<script>
$(function () {
// on document load
// if localStorage["anchor"] is set to a value
let target = localStorage.getItem("anchor");
if (target) {
// scroll to target
$('html, body').animate({ scrollTop: $(target).offset().top }, 'slow');
// clear localStorage
localStorage.removeItem("anchor");
}
});
</script>
- 1 回答
- 0 关注
- 169 浏览
添加回答
举报
0/150
提交
取消