Câu trả lời:
JavaScript 1.0
window.location.href = window.location.pathname + window.location.search + window.location.hash;
// creates a history entry
JavaScript 1.1
window.location.replace(window.location.pathname + window.location.search + window.location.hash);
// does not create a history entry
JavaScript 1.2
window.location.reload(false);
// If we needed to pull the document from
// the web-server again (such as where the document contents
// change dynamically) we would pass the argument as 'true'.
.reload(true)
được thêm vào lịch sử? Nếu vậy, làm thế nào để tránh điều đó với tải lại?
location.reload();
Xem trang MDN này để biết thêm thông tin.
Nếu bạn đang làm mới sau onclick
đó thì bạn sẽ cần phải trả lại sai ngay sau đó
location.reload();
return false;
location.reload()
và là window.location.reload()
gì?
location
cũng giống như window.location
như window
là đối tượng toàn cầu.
return false;
nếu gọi nó từ một onclick trong một liên kết.
window.location.reload();
để dễ đọc hơn, vì location
có thể là một biến cục bộ - trong khi bạn thường tránh các biến của tên window
.
Dưới đây là 535 cách để tải lại trang bằng JavaScript , cách dễ nhất location = location
.
Đây là 50 đầu tiên:
location = location
location = location.href
location = window.location
location = self.location
location = window.location.href
location = self.location.href
location = location['href']
location = window['location']
location = window['location'].href
location = window['location']['href']
location = window.location['href']
location = self['location']
location = self['location'].href
location = self['location']['href']
location = self.location['href']
location.assign(location)
location.replace(location)
window.location.assign(location)
window.location.replace(location)
self.location.assign(location)
self.location.replace(location)
location['assign'](location)
location['replace'](location)
window.location['assign'](location)
window.location['replace'](location)
window['location'].assign(location)
window['location'].replace(location)
window['location']['assign'](location)
window['location']['replace'](location)
self.location['assign'](location)
self.location['replace'](location)
self['location'].assign(location)
self['location'].replace(location)
self['location']['assign'](location)
self['location']['replace'](location)
location.href = location
location.href = location.href
location.href = window.location
location.href = self.location
location.href = window.location.href
location.href = self.location.href
location.href = location['href']
location.href = window['location']
location.href = window['location'].href
location.href = window['location']['href']
location.href = window.location['href']
location.href = self['location']
location.href = self['location'].href
location.href = self['location']['href']
location.href = self.location['href']
...
window.window.window['window'].location = window['window'].window['window']['window']['window']['window']['window']['window']['location']
Bạn có thể thực hiện nhiệm vụ này bằng cách sử dụng window.location.reload();
. Vì có nhiều cách để làm điều này nhưng tôi nghĩ đó là cách thích hợp để tải lại cùng một tài liệu với JavaScript. Đây là lời giải thích
window.location
Đối tượng JavaScript có thể được sử dụng
window
: trong JavaScript biểu thị một cửa sổ mở trong trình duyệt.
location
: trong JavaScript chứa thông tin về URL hiện tại.
Đối location
tượng giống như một mảnh của window
đối tượng và được gọi lên thông qua window.location
tài sản.
location
đối tượng có ba phương thức:
assign()
: được sử dụng để tải một tài liệu mớireload()
: được sử dụng để tải lại tài liệu hiện tạireplace()
: được sử dụng để thay thế tài liệu hiện tại bằng tài liệu mớiVì vậy, ở đây chúng ta cần sử dụng reload()
, bởi vì nó có thể giúp chúng ta tải lại cùng một tài liệu.
Vì vậy, sử dụng nó như thế nào window.location.reload();
.
Bản demo trực tuyến trên jsfiddle
Để yêu cầu trình duyệt của bạn truy xuất trang trực tiếp từ máy chủ chứ không phải từ bộ đệm, bạn có thể truyền true
tham số cho location.reload()
. Phương pháp này tương thích với tất cả các trình duyệt chính, bao gồm IE, Chrome, Firefox, Safari, Opera.
replace()
hóa ra là giải pháp tôi đang tìm kiếm vì tôi cần tải lại trang của mình với một chút thay đổi trong chuỗi truy vấn.
Thử:
window.location.reload(true);
Tham số được đặt thành 'true' tải lại một bản sao mới từ máy chủ. Để nó ra sẽ phục vụ trang từ bộ đệm.
Thông tin thêm có thể được tìm thấy tại MSDN và trong tài liệu Mozilla .
Tôi đã tìm kiếm một số thông tin liên quan đến tải lại trên các trang được truy xuất với các yêu cầu POST, chẳng hạn như sau khi gửi method="post"
biểu mẫu.
Để tải lại trang giữ dữ liệu POST, sử dụng:
window.location.reload();
Để tải lại trang loại bỏ dữ liệu POST (thực hiện yêu cầu GET), sử dụng:
window.location.href = window.location.href;
Hy vọng điều này có thể giúp những người khác đang tìm kiếm thông tin tương tự.
POST
yêu cầu.
GET
và POST
phương pháp
window.location.href = window.location.href
không tải lại trang nếu url hiện tại chứa a #
. Bạn có thể loại bỏ hàm băm nếu bạn không cần nó window.location.href = window.location.href.split('#')[0];
.
Để tải lại một trang bằng JavaScript, hãy sử dụng:
window.location.reload();
Điều này làm việc cho tôi:
function refresh() {
setTimeout(function () {
location.reload()
}, 100);
}
Nếu bạn đặt
window.location.reload(true);
ở đầu trang của bạn không có điều kiện nào khác đủ điều kiện tại sao mã đó chạy, trang sẽ tải và sau đó tiếp tục tải lại cho đến khi bạn đóng trình duyệt của mình.
location.href = location.href;
location.reload()
?
Sử dụng một nút hoặc chỉ đặt nó trong thẻ "a" (neo):
<input type="button" value="RELOAD" onclick="location.reload();" />
Hãy thử những thứ này cho các nhu cầu khác:
Location Objects has three methods --
assign() Used to load a new document
reload() Used to reloads the current document.
replace() Used to replace the current document with a new one
history.go()
Trang tải lại tự động sau 20 giây.
<script>
window.onload = function() {
setTimeout(function () {
location.reload()
}, 20000);
};
</script>
Cảm ơn bạn, bài đăng này rất hữu ích, không chỉ tải lại trang với câu trả lời được đề xuất mà còn cho tôi ý tưởng đặt biểu tượng UI UI vào một nút:
<button style="display:block; vertical-align:middle; height:2.82em;"
title="Cargar nuevamente el código fuente sin darle un [Enter] a la dirección en la barra de direcciones"
class="ui-state-active ui-corner-all ui-priority-primary"
onclick="javascript:window.location.reload(true);">
<span style="display:inline-block;" class="ui-icon ui-icon-refresh"></span>
[<b>CARGAR NUEVAMENTE</b>]
</button>
Điều này sẽ làm việc:
window.location.href = window.location.href.split( '#' )[0];
hoặc là
var x = window.location.href;
x = x.split( '#' );
window.location.href = x[0];
Tôi thích điều này vì những lý do sau:
Ngoài ra, bạn có thể sử dụng phương thức chính thức gần đây nhất cho nhiệm vụ này
window.location.reload()
Sử dụng nút này để làm mới trang
<input type="button" value="Reload Page" onClick="document.location.reload(true)">
Phương thức reload () được sử dụng để tải lại tài liệu hiện tại.
Phương thức reload () thực hiện giống như nút tải lại trong trình duyệt của bạn.
Theo mặc định, phương thức reload () tải lại trang từ bộ đệm, nhưng bạn có thể buộc nó tải lại trang từ máy chủ bằng cách đặt tham số forceGet thành true: location.reload (true).
location.reload();
Bạn chỉ có thể sử dụng
window.location=document.URL
trong đó document.URL lấy URL trang hiện tại và window.location tải lại nó.