Я хочу использовать модальные кнопки «Отмена» и «Да», когда пользователь пытается выйти из одностраничного приложения.
Чтобы обеспечить некоторый контекст, я работаю над одностраничным приложением, которое появляется на более крупном сайте, который не является частью одностраничного приложения (поэтому верхний и нижний колонтитулы являются частью более крупного сайта, а одностраничный - приложение это контент). Когда пользователь пытается выйти на другую часть сайта (например, щелкнув где-то в навигационной панели), которая не является частью одностраничного приложения, я хочу, чтобы модал предупреждения отображался с предупреждением. Пользователь может закрыть или обновить страницу столько, сколько он хочет, и это не должно быть модальным. То же самое, если пользователь жестко кодирует URL (скажем, google.com
в браузере), модал не должен появляться.
До сих пор другие похожие потоки, которые я обнаружил в stackoverflow, использовали компонент Prompt
или window.onbeforeunload
. У обоих из них есть проблема, связанная с появлением текстового поля по умолчанию с предупреждением, а не с пользовательским модальным режимом, что является важной проблемой, но это еще не все.
Prompt
, насколько я понимаю, срабатывает всякий раз, когда пользователь перенаправляет в одностраничное приложение, а это не то поведение, которое мне нужно.
window.onbeforeunload
, к моим понимающим триггерам даже при обновлении или закрытии, а это не то поведение, которое мне нужно.
Может быть, это не такая распространенная проблема, поскольку мне кажется, что я не могу найти легкого решения для этого, но любые идеи высоко ценятся.