Как перейти на другую страницу
Короткий ответ
Присвоение адреса в location.href открывает его, как клик по ссылке:
window.location.href = '/thank-you';Без записи в истории
location.replace() заменяет текущую страницу в истории, и кнопка Назад к ней не вернётся. Это полезно после входа или отправки формы:
window.location.replace('/dashboard');Новая вкладка и перезагрузка
window.open() открывает новую вкладку, location.reload() перезагружает текущую страницу:
window.open('https://example.com', '_blank', 'noopener');
location.reload();Частая ошибка
Если адрес приходит из параметра, проверяйте его перед переходом. Иначе кто угодно сделает ссылку на ваш сайт, которая отправит пользователей на поддельную страницу:
const next = new URLSearchParams(location.search).get('next') ?? '/';
if (next.startsWith('/') && !next.startsWith('//')) {
location.href = next;
}Функции из этого ответа
- URLSearchParams — Читает и собирает параметры адреса (часть после ?).