среда, 19 сентября 2018 г.

Методы document.location

Каждый раз когда мне требуется перезагрузить страницу средствами 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";

Комментариев нет:

Отправить комментарий