Реагировать на закрытие окна / вкладки, не показывая диалог - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь отобразить диалоговое окно, когда пользователь закрывает окно (или вкладку) в React с машинописью.

Я прочитал, что мы не можем переопределить диалог по умолчанию. Это нормально, но для меня даже диалог по умолчанию не появляется.

Если я отлаживаю приложение реагирования в Chrome, сообщение появляется, когда я иду шаг за шагом. Если не в отладке, сообщение не отображается, и страница закрыта. Испытал так много примеров в интернете, ни один не работал для меня. Это моя последняя попытка, что работает, как описано ранее. Есть идеи?

interface IProsp{}
interface Istate{}

class ExtrasDesktop extends React.Component<IPros, IState>
{
    componentDidMount()
    {
        window.addEventListener('beforeunload', this.keepOnPage);
    }
    componentWillUnmount()
    {
        window.removeEventListener('beforeunload', this.keepOnPage);
    }

    keepOnPage = (e: BeforeUnloadEvent): any =>
    {
        e.preventDefault();
        const message = 'Some message';
        e.returnValue = message;
        return message;
    }

    render()
    {}
}
...