Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как перейти на другую страницу

Короткий ответ

Присвоение адреса в 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 — Читает и собирает параметры адреса (часть после ?).

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.