Next.js Discord

Discord Forum

By default, the `beforeunload` event is not triggered when the page jumps

Unanswered
Western paper wasp posted this in #help-forum
Open in Discord
Western paper waspOP
I want to pop up a warning box when the page jumps, but because nextjs uses client-side routing, the beforeunload event will not be triggered.
this is my code:
    useEffect(() => {
        const handleBeforeUnload = (event: BeforeUnloadEvent) => {
            if (isModified()) {
                event.preventDefault();
                return;
            }
        };

        window.addEventListener('beforeunload', handleBeforeUnload);
        window.onbeforeunload = handleBeforeUnload;

        return () => {
            window.removeEventListener('beforeunload', handleBeforeUnload);
        };
    }, [somedep...])

0 Replies