Có cách nào để vô hiệu hóa hành vi trong đó một số trình duyệt hiện đại (Chrome và Safari) nhớ vị trí cuộn của bạn khi làm mới trang không?Tắt tính năng tự động cuộn của brower sau khi làm mới trang?
Trả lời
Đối với trình duyệt hỗ trợ history.scrollRestoration, hành vi tự động cuộn có thể được tắt:
if ('scrollRestoration' in history) {
history.scrollRestoration = 'manual';
}
nguồn: https://developers.google.com/web/updates/2015/09/history-api-scroll-restoration
Vì đây vẫn là một thuộc tính thử nghiệm, có ai biết hỗ trợ trình duyệt không? –
không chỉ cho chrome, nhưng đối với tất cả tôi nghĩ rằng điều này sẽ làm việc tốt.
window.onload = function() {
window.scrollTo(0, 0);
};
Sau khi cập nhật các câu hỏi của bạn:
Tôi nghĩ rằng nó tốt hơn nếu chúng ta sử dụng một số cookie hoặc lưu trữ phiên.
Đây cũng là suy nghĩ của tôi - nhưng tôi không có may mắn với kiểu gọi lại này - có vẻ như chrome tự động cuộn sau khi bật lửa. – Anthony
Bạn đã thử kích hoạt tính năng này sau khi tài liệu đã sẵn sàng chưa?
$(document).ready(function(){
window.scrollTo(0, 0);
});
nếu điều đó không làm việc ...
$(document).ready(function(){
setTimeout(function(){
window.scrollTo(0, 0);
}, 1);
});
Mà sẽ đẩy này để dưới cùng của các cuộc gọi stack
Thay vì hy vọng một setTimout kết thúc ở dưới cùng của ngăn xếp - Tôi thà thực thi nó mà chúng tôi đã đạt được vị trí cuộn mà chúng tôi muốn. Tôi vẫn coi đây là một hack, tôi đã hy vọng cho một số loại sự kiện trình duyệt chúng tôi liên kết với.
var scrollToYPos = 100;
var interval = setInterval(checkPos, 0);
function checkPos() {
if ($(window).scrollTop() == scrollToYPos) {
clearInterval(interval);
} else {
window.scrollTo(0, scrollToYPos);
checkPos();
}
}
Tôi gặp phải sự cố tương tự này. Đây là giải pháp cơ bản mà tôi đã đưa ra:
// scroll the user to the comments section if we need to
wt = win.scrollTop();
wb = wt + win.height();
// if scroll position is 0, do this (it's a fresh user), otherwise
// the browser is likely to resume the user's scroll position, in
// which case we don't want to do this
yab.loaded().done(function() {
// it seems that browsers (consistently) set the scroll position after
// page load. Accordingly wait a 1/4 second (I haven't tested this to the lowest
// possible timeout) before triggering our logic
setTimeout(function() {
// if the window top is 0, scroll the user, otherwise the browser restored
// the users scroll position (I realize this fails if the users scroll position was 0)
if(wt === 0) {
p = self.container.offset().top;
if(wb != p) {
win.scrollTop(p - th - 20);
}
}
}, 250);
});
Oh và 'yab.loaded' là lời hứa được giải quyết khi cửa sổ được tải. Tương đương với '$ (window) .load (function() {// ...});' – Skone
Tôi nghĩ cách dễ nhất là lừa trình duyệt tải lại mà nó nghĩ là một trang mới.
window.location = window.location
Tất cả các trình duyệt tôi đã thử nghiệm đều hoạt động ổn định. Cá nhân tôi sẽ tránh xa các callback onload vì chúng có thể gây ra các bước nhảy trong quá trình tải không quá hấp dẫn.
- 1. tắt tính năng làm mới trang khi mất tiêu điểm
- 2. Tắt tính năng tự động ghi RichTextBox
- 3. iOS Tắt tính năng Cuộn trang bằng tính năng cuộn quá mức: chạm vào
- 4. Tắt tính năng Tự động điền của Firefox
- 5. syntastic - Tắt tính năng biên dịch tự động của Java
- 6. Tắt tính năng trả lại dọc UITableView khi cuộn
- 7. Trang web làm mới tự động
- 8. Sau khi làm mới trang jquery ngừng hoạt động
- 9. Khi làm mới trang tự động Thanh cuộn RadPanelBar tăng lên
- 10. Tắt tính năng tự động tạo trong NetBeans
- 11. PHP - trang tự động làm mới
- 12. làm mới trang sau khi jquery ajax
- 13. Tắt tính năng xoay tự động cho UIView
- 14. Làm cách nào để tắt tính năng tự động gửi khi nhấn phím enter?
- 15. UITableView tự động cuộn xuống sau khi tải lạiData
- 16. cách tắt tính năng tự động chọn MobileSafari?
- 17. Qt Làm cách nào để tắt tính năng cuộn chuột của QComboBox?
- 18. iPad tắt tính năng cuộn tài liệu nhưng không xóa cuộn cuộn div
- 19. Làm cách nào để tắt tính năng cập nhật tự động (kiểm tra bẩn) của NHibernate?
- 20. Tắt tính năng Tự động lấy nét trường văn bản trong Javascript
- 21. Tắt tự động cuộn trong cửa sổ lệnh
- 22. Tắt tính năng cuộn của cơ thể nhưng giữ thanh cuộn
- 23. Điều gì sẽ xảy ra khi quyền được tắt với tính năng mới của OS 4.3?
- 24. Làm cách nào để tự động cuộn JTextPane khi thanh cuộn ở dưới cùng và khóa cuộn bị tắt?
- 25. Làm cách nào để tắt thanh cuộn của trang?
- 26. Làm mới trang sau một hành động postback trong asp.net
- 27. Làm mới jQuery/Tải lại trang sau khi thành công
- 28. Làm thế nào để tắt tính năng cuộn trong các phần tử bên ngoài?
- 29. Trang làm mới jQuery Mobile sau khi thay đổiPage
- 30. jQuery DatePicker cách tắt tính năng chọn ngày tự động trong khi duyệt lịch?
Tại sao bạn sẽ muốn làm điều đó? Đó là trải nghiệm người dùng tốt để quay lại vị trí đó. – putvande
@putvande 100% đồng ý trong hầu hết các trường hợp, nhưng trường hợp sử dụng sẽ là khi có bảng dữ liệu lớn bổ sung dữ liệu mới lên đầu và mặc dù chúng tôi có thể cập nhật dữ liệu động, nếu người dùng làm mới vì bất kỳ lý do gì, chúng tôi không không muốn đưa họ trở lại vị trí cuộn cũ của họ. Đây không phải là hành vi mong đợi từ quan điểm của họ cho kinh nghiệm này - cũng chỉ là 1 trường hợp sử dụng, còn có những người khác tồn tại. – Anthony
Bất kỳ trang nào sử dụng cuộn vô hạn cho trải nghiệm tải sẽ có vấn đề (không mong muốn) này. –