Phương pháp ưa thích để tải lại trang bằng JavaScript? [đóng cửa]


103

Bạn thích cách nào để tải lại trang hiện tại (sử dụng một nút)?

1 <input type="button" value="Reload" onClick="history.go(0)">
2 <input type="button" value="Reload" onClick="location.reload(true)">
3 <input type="button" value="Reload" onClick="window.location.reload(true)">
4 <input type="button" value="Reload" onClick="window.location.href=window.location.href">
5 <input type="button" value="Reload" onClick="document.location.reload(true)">
6 <input type="button" value="Reload" onClick="document.location.href=document.location.href">

Vì URL của trang thay đổi thường xuyên AFAIK một 'chức năng dự phòng' như

<a href="urlOfCurrentPage.html" onclick="window.location.reload(true);return false;">Reload</a>

sẽ không hiệu quả với tôi, phải không?


Lưu ý rằng số 2 và số 3 giống nhau
Matti Virkkunen

3
Số 4 và 6 sẽ không tải lại bất cứ điều gì nếu có một # hiện diện trong url
jontro

2
Số 2, 3 & 5 không được thực hiện bởi tất cả các trình duyệt, sử dụng *.location.reload()làm đối số chỉ được sử dụng để chỉ định xem bộ nhớ cache có nên được bỏ qua hay không. stackoverflow.com/questions/10876244/…
Dead.Rabit

OP đã bỏ lỡ phương thức ưa thích nhất trong tất cả: location.reload ();
Doug S

Câu trả lời:


57

Phụ thuộc vào những gì bạn muốn làm. Phương thức thứ tư và thứ sáu ở đó sẽ không tải lại bất kỳ dữ liệu biểu mẫu nào, về cơ bản chúng thực hiện một lượt truy cập riêng vào trang. Một số phiên bản của Firefox cũng có vấn đề với phương pháp thứ ba. Ngoài ra, tôi muốn chọn thứ năm như một sở thích cá nhân. Nó có vẻ rõ ràng nhất.


Phương thức thứ hai (.reload) không hoạt động trong một số trường hợp.
Aristos

vậy, "document.location.reload (true)" có phải là trình duyệt chéo an toàn và là trình duyệt mạnh mẽ nhất không?
Mel

@Mel, tôi tin là vậy. Thực sự, cả window và document đều hoạt động.
tloflin

10
lưu ý rằng khi bạn sử dụng document.location.reload () trên POST, trình duyệt sẽ hỏi bạn có muốn gửi lại dữ liệu để tải lại trang hay không.
wimh

Wimmel, vâng để sửa chữa có sử dụng mô hình PRG: en.wikipedia.org/wiki/Post/Redirect/Get
SAREL Botha

30

Bạn cũng có thể làm:

wdđại diện cho cửa sổ || tài liệu :

  • wd.location.assign (wd.location.href) : truy cập URL
  • wd.location.replace (wd.location.href) : truy cập URL và thay thế trang trước đó trong lịch sử
  • wd.location.reload (<true / false / blank>) : tải lại trang từ server / cache / cache
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.