Ответ
В JavaScript можно сделать редирект несколькими способами:
- Через
window.location:
window.location.href = 'https://example.com'; // Предпочтительный способ
window.location.replace('https://example.com'); // Без сохранения в истории
- Через мета-тег в HTML (если нет доступа к JS):
<meta http-equiv="refresh" content="0; url=https://example.com">
- На серверной стороне (например, в Node.js с Express):
res.redirect('/new-page');
Важные нюансы:
replace()не сохраняет исходную страницу в истории браузера- Редирект через
location.hrefможно отменить, если быстро перейти на другую страницу - Для временных редиректов лучше использовать статус 302, для постоянных - 301
Ответ 18+ 🔞
Да ты посмотри, какие у нас, блядь, возможности для редиректа в JavaScript! Прям как в том анекдоте про Герасима — либо так, либо нахуй. Но тут, блядь, вариантов побольше.
Ну, самый классический, как ядрёна вошь, способ — через window.location. Берёшь и пишешь:
window.location.href = 'https://example.com'; // Предпочтительный способ
Вот это, блядь, как по мне, самый нормальный путь. Страница в историю браузера ложится, всё чинно-благородно.
А есть, сука, вариант для максималистов, как тот самый Герасим! Чтобы назад вернуться было нихуя нельзя. Это replace():
window.location.replace('https://example.com'); // Без сохранения в истории
Кинул мешок с Муму в озеро — и всё, блядь, в истории этой страницы нет, вернуться не получится. Жёстко, но иногда надо.
А бывает, JS вообще отключён, или скрипт не загрузился, а перенаправить-то надо! Ну, тут, ёпта, выкручиваемся как можем. Лепим в HTML мета-тег, этакую мартышлюшку:
<meta http-equiv="refresh" content="0; url=https://example.com">
Сказал «ноль» — и сразу впердолил пользователя на новый адрес. Неэлегантно, но работает, блядь.
Ну и, само собой, если ты на сервере сидишь, то там свои плюшки. Взять тот же Express для Node.js:
res.redirect('/new-page');
Красота, блядь! Чисто, быстро, без лишних телодвижений на клиенте.
Важные нюансы, на которых можно, сука, обжечься:
- Про
replace()уже сказал — он историю браузера подтирает, как говно с подошвы. Назад кнопкой не вернёшься. - Редирект через
location.href— его, в теории, можно отменить, если юзер, блядь, шустрее ветра и успеет куда-то ткнуть, пока страница грузится. Но это из разряда «поймай блоху». - А на сервере, чувак, не забывай про статусы! Временный редирект — это 302. А если переезд насовсем, то шли всем 301, чтобы поисковики, эти пидарасы шерстяные, индексы перенесли.
Вот и вся наука. Выбирай способ под задачу, а не как Герасим — сразу топить.