JavaScript khó làm mới trang hiện tại


176

Làm cách nào tôi có thể buộc trình duyệt web thực hiện việc làm mới trang thông qua JavaScript?
Làm mới cứng có nghĩa là có được một bản sao mới của trang VÀ làm mới tất cả các tài nguyên bên ngoài (hình ảnh, JavaScript, CSS, v.v.).

Câu trả lời:


295

Thử sử dụng:

location.reload(true);

Khi phương thức này nhận một truegiá trị làm đối số, nó sẽ khiến trang luôn được tải lại từ máy chủ. Nếu nó sai hoặc không được chỉ định, trình duyệt có thể tải lại trang từ bộ đệm của nó.

Thêm thông tin:


19
Tôi khá chắc chắn rằng điều này sẽ không tải lại tất cả các tài nguyên bên ngoài. Bạn sẽ phải đọc qua tất cả a, link, scriptimgcác yếu tố và nối thêm một chuỗi truy vấn ngẫu nhiên đến cuối của mỗi tài liệu tham khảo bên ngoài sau khi reload cứng. Hoặc, làm điều đó trên máy chủ.
Doug Neiner

3
Nó đã hoạt động vào năm 2010? Nó chắc chắn không hoạt động vào năm 2018 (trong Chrome). Chrome tải mọi thứ (ngoại trừ / Trang chủ / Chỉ mục) từ bộ đệm. Nó xuất hiện để làm việc trong firefox WTH?
Maciej Szpakowski 23/2/18

1
@MaciejSzpakowski Sử dụng Cache.keys ()Cache.delete () làm việc cho tôi. Ví dụ: jsfiddle
r.delic 17/03/18

3
Nó không làm việc cho tôi. Điều này không xóa dữ liệu mà tôi xóa bằng ctrl F5
ozimax06

2
Tôi nghĩ chức năng này bị loại bỏ trong HTML5.
Mygod

8
window.location.href = window.location.href

4
Điều này sẽ không kéo trang từ máy chủ nếu trình duyệt có bộ nhớ cache.
LukeP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.