page. js библиотека: как включить onbeforeunload? - PullRequest
0 голосов
/ 23 января 2020

Я создаю одностраничное приложение, используя page. js в качестве маршрутизатора. Событие window.onbeforeunload по умолчанию, похоже, не срабатывает при смене страниц в SPA. Как я могу реализовать нечто подобное, позволяя мне выборочно отменить переход страницы, если пользователь решает не продолжать? (т.е. "ваши изменения не сохранены: нормально, чтобы отменить изменения?")

Спасибо!

1 Ответ

0 голосов
/ 24 января 2020

Чтобы предотвратить изменение адресной строки и эффективно остановить обработку страницы, внутри функции show установите context.handled = false. Это останавливает действие pushState на странице. js, предотвращая изменение адресной строки.

Пример:

page('/prevent-access', (context, next) => { context.handled = false }) // Prevents URL change to this page.
...