Каждый раз когда мне требуется перезагрузить страницу средствами javascript, я пытаюсь вспомнить, что же нужно сделать с объектом
Интерфейс
Итак, в интерфейсе
-
-
-
Итого: самый простой подход - использование метода
Однако, есть упрощенный аналог данного вызова, заключающийся в изменении свойства
document.location
. Поэтому сегодня мы быстренько пройдемся по методам данного объекта. Информация взята из MDN, и если вы мне не доверяете, можете обратиться к первоисточнику. Итак, продолжим.
Интерфейс
Location
описывает URL-данные объекта, с которым он связан. Обычно используется "реализация" document.location
или реже window.location
. Содержимое данных объектов вы сможете выяснить самостоятельно через console.dir(document.location)
, я же опишу методы, которыми можно воспользоваться.Итак, в интерфейсе
Location
есть всего три метода:-
assign
, данный метод загружает URL, указанный в его аргументе, при этом предыдущий URL сохраняется в истории:
// загружаем страницу по адресу http://example.com
document.location.assign("http://example.com")
-
reload
, данный метод перезагружает текущий URL, при этом возможна ситуация что браузер подгрузит содержимое страницы из собственного кеша, чтобы заново загрузить контент страницы с сервера - передайте true
в качестве аргумента:
// перезагружаем текущую страницу
document.location.reload()
// или
document.location.reload(true)
-
replace
, данный метод загружает URL, указанный в аргументе, но в отличие от метода assign
предыдущий URL не фиксируется в истории, таким образом на него невозможно будет попасть передвижением вперед/назад по истории:
// подменяем текущую страницу на страницу по адресу http://example.com
document.location.replace("http://example.com")
Итого: самый простой подход - использование метода
assign
:
document.location.assign("http://example.com");
Однако, есть упрощенный аналог данного вызова, заключающийся в изменении свойства
href
объекта location
:
document.location.href = "http://example.com";
// или еще короче
document.location = "http://example.com";
Комментариев нет:
Отправить комментарий