Dưới đây là một bản cập nhật 2018 đó là năng động hơn một chút .
Nếu bạn muốn kéo URL, kéo neo từ URL và di chuyển trang đó đến liên kết đó, bạn có thể chạy javascript này khi tải trang.
if (window.location.href.indexOf('#') == 0) {
let hash = window.location.href.split('#')[1];
let hashTop = document.querySelector(`#${hash}`).offsetTop;
window.scrollTop = hashTop;
}
Còn có cách này ngắn gọn hơn một chút.
if (location.hash) {
let target = location.hash;
window.scrollTop = document.querySelector(target).offsetTop;
}
Nếu bạn không biên dịch ES6 với babel, chỉ cần thay đổi từ khóa let
-var
. Điều này cũng làm việc cho WordPress, mà sẽ thêm một dấu gạch chéo trong URL trước khi neo.
Nguồn
2018-01-16 17:11:08
Cảm ơn bạn rất nhiều! Tôi cần một cách để đặt một neo trong URL Twig để đi đến một vị trí cụ thể trên trang nếu một ngoại lệ được ném. Không thể được thực hiện, vì vậy thay vào đó, tôi đặt một biến twig trong thẻ body và đặt nó thành một chuỗi rỗng. Sau đó, nếu ngoại lệ được ném, tôi điền biến chuỗi bằng javascript, như được hiển thị trong câu trả lời của bạn (window.location.hash = "foo") và thêm nó vào kết xuất của trang:
. – paidforbychrist