Как перезагрузить страницу используя JavaScript - PullRequest
693 голосов
/ 15 сентября 2010

Как я могу перезагрузить страницу, используя JavaScript?

Мне нужен метод, который работает во всех браузерах.

Ответы [ 17 ]

796 голосов
/ 15 сентября 2010

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'.
264 голосов
/ 15 сентября 2010
location.reload();

См. MDN-страницу для получения дополнительной информации.

163 голосов
/ 19 сентября 2016

Вот 535 способов перезагрузки страницы с использованием JavaScript , самым простым из которых является location = location.

Это первые 50:

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']
...
77 голосов
/ 23 декабря 2013

Вы можете выполнить эту задачу, используя window.location.reload();.Поскольку есть много способов сделать это, но я думаю, что это подходящий способ перезагрузить тот же документ с помощью JavaScript.Вот объяснение

JavaScript window.location объект может использоваться

  • для получения адреса текущей страницы (URL)
  • для перенаправления браузера на другойpage
  • для перезагрузки той же страницы

window: в JavaScript представляет открытое окно в браузере.

location: в JavaScript содержится информация отекущий URL.

Объект location похож на фрагмент объекта window и вызывается через свойство window.location.

location объект имеет три метода:

  1. assign(): используется для загрузки нового документа
  2. reload(): используется для перезагрузки текущего документа
  3. replace(): используется для замены текущего документа нановый

Так что здесь нам нужно использовать reload(), потому что это может помочь нам перезагрузить тот же документ.

Так что используйте его как window.location.reload();.

Онлайн-демонстрация на jsfiddle

Чтобы попросить ваш браузер получить страницу непосредственно с сервера, а не из кэша,Вы можете передать параметр true в location.reload().Этот метод совместим со всеми основными браузерами, включая IE, Chrome, Firefox, Safari, Opera.

40 голосов
/ 09 июня 2014

Попробуйте:

window.location.reload(true);

Параметр, установленный в значение «true», перезагружает свежую копию с сервера. Оставив его, вы получите страницу из кэша.

Дополнительную информацию можно найти по адресу MSDN и в документации Mozilla .

35 голосов
/ 19 июля 2017

Я искал некоторую информацию о перезагрузках на страницах, полученных с помощью запросов POST, например, после отправки формы method="post".

Для перезагрузки страницы с сохранением данных POST, используйте:

window.location.reload();

Для перезагрузки страницы отбрасывание данных POST (выполнить запрос GET), использовать:

window.location.href = window.location.href;

Надеюсь, это поможет другим, ищущим ту же информацию.

35 голосов
/ 08 января 2015

Это работает для меня:

function refresh() {

    setTimeout(function () {
        location.reload()
    }, 100);
}

http://jsfiddle.net/umerqureshi/znruyzop/

33 голосов
/ 25 мая 2018

Чтобы перезагрузить страницу с помощью JavaScript, используйте:

window.location.reload();
14 голосов
/ 01 марта 2013

Если вы поместите

window.location.reload(true);

в начале вашей страницы без каких-либо других условий, объясняющих, почему этот код запускается, страница будет загружаться, а затем продолжит перезагружаться, пока вы не закроете браузер.

10 голосов
/ 15 сентября 2010
location.href = location.href;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...