на другую страницу. Можно ли как-то в собитии beforeunload узнать на какой урл страница сейчас перенаправиться?
Кнопка запускает скрипт который в итоге перенаправляет пользователя на другую страницу? - тогда в скрипте же должен указываться адрес, нет?
Точно не скажу, но я так понимаю на это событие можно повесить обработчик, в который будет при вызове передаваться параметры собсственно вызова. Вот я бы просто вывел console.log эти параметры и посмотрел что там есть или нет.
https://codesandbox.io/s/purple-bird-8pxbm?file=/src/index.js Вот накидал пример. Как мне в beforeunload узнать куда произойдет редирект?
https://codesandbox.io/s/purple-bird-8pxbm?file=/src/index.js Вот накидал пример. Как мне в beforeunload узнать куда произойдет редирект?
А для чего нужна такая логика?
Вообще - мне что то подсказывает что это сделать нельзя. Ну - этот метод срабатывает когда ты уже покидаешь страницу - и этот метод позволяет прервать это действие (закрытие/переадресацию). Ну и действительно - какова целесообразность этого действия)) - если ты хочешь узнать url , то тебе достаточно просто перейти на сайт и не прерывать переадресацию))
нельзя это узнать
И опять же - если ты уже начал переадресацию , и произошло это с твоей страницы по нажатию какой то там кнопки. Значит в алгоритме уже есть тот адрес который ты ищешь. Иначе это какой то фантомный URL получается)) - который появился из неоткуда)
попробуй e.preventDefault(); console.log(e.target.location.href)
переход по урлу нельзя прервать если он уже начался, это событие очень ограничено по действиям, например там alert нельзя вызвать
Можно - если ты запускаешь то самое событие onbeforunload - оно спрашивает тебя, уверен ли ты в своем намерении прямо сейчас покинуть страницу, если ты ответишь НЕТ - то страницу ты не покинешь.
Ну я так понял судя по докам. НА практике ХЗ - может ты прав))
Кстати - а если открывать через свойство "_blank", может и можно узнать)
правильно, у тебя в target вкладка на которой сработал евент и ее ссылка
ну у него там сылка на /home он хотел эту ссылку получить до перехода на /home вот и получил
Обсуждают сегодня