Узнайте, как легко получить URL-адрес последней посещенной страницы в JavaScript.

Мы можем получить URL последней страницы в JavaScript с помощью свойства document.referrer.
Например:
const lastPageUrl = document.referrer;console.log(`Last visited page URL: ${lastPageUrl}`);
document.referrer — это свойство только для чтения, которое возвращает URL-адрес страницы, используемый для перехода на текущую страницу.
Вот более практический пример:
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Coding Beauty Tutorial</title>
</head>
<body>
<a href="get-last-page.html">Link</a>
</body>
</html>
получить последнюю страницу.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Coding Beauty Tutorial</title>
</head>
<body>
You visited this page from: <span id="last-page"></span>
<script src="get-last-page.js"></script>
</body>
</html>
получить последнюю страницу.js
const lastPage = document.getElementById('last-page');lastPage.textContent = document.referrer;

Ограничения document.referrer
Однако свойство document.referrer работает не всегда. Обычно он дает правильное значение в тех случаях, когда пользователь щелкнул ссылку на последней странице, чтобы перейти на текущую страницу.
Но если пользователь посетил URL-адрес напрямую, введя адресную строку или используя закладку, document.referrer не будет иметь значения.

document.referrer также не будет иметь значения, если нажатая ссылка была помечена атрибутом rel="noreferrer". Установка с rel на noreferrer специально предотвращает передачу реферальной информации на веб-страницу, на которую делается ссылка.
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Coding Beauty Tutorial</title>
</head>
<body>
<a href="get-last-page.html">Link</a>
<a href="get-last-page" rel="noreferrer">Link (noreferrer)</a>
</body>
</html>

Переход на последнюю страницу
Возможно, вы хотели бы получить URL-адрес последней страницы, чтобы вы могли перейти на эту страницу. Вы можете легко сделать это с помощью метода history.back().
получить последнюю страницу.js
... const backButton = document.getElementById('back');backButton.onclick = () => { history.back(); };
получить последнюю страницу.html
<!DOCTYPE html>
<html lang="en">
<head>
<title>Coding Beauty Tutorial</title>
</head>
<body>
You visited this page from: <span id="last-page"></span> <br />
<br />
<button id="back">Back</button>
<script src="get-last-page.js"></script>
</body>
</html>

Первоначально опубликовано на codingbeautydev.com
Все сумасшедшие вещи, которые делает JavaScript
Увлекательное руководство по тонким предостережениям и менее известным частям JavaScript.

Зарегистрируйтесь и сразу же получите бесплатную копию.