It looks like the e.preventDefault() is not enough in some browsers (Brave is where I tested).
However, if I also do e.returnValue = '', it does prevent and ask if I really want to close the tab.
This would be an easy fix:
|
const handleBeforeUnload = (e: BeforeUnloadEvent) => { |
|
// Show alert message only when isPageDirty is true |
|
if (isPageDirty.value) e.preventDefault() |
|
} |
const handleBeforeUnload = (e: BeforeUnloadEvent) => {
// Show alert message only when isPageDirty is true
if (isPageDirty.value) {
e.preventDefault()
e.returnValue = '';
}
}
Source: https://community.plumsail.com/t/any-way-to-prevent-user-from-closing-tab-or-showing-a-warning-before-they-close-it-from-within-forms/10261/8
It looks like the
e.preventDefault()is not enough in some browsers (Brave is where I tested).However, if I also do
e.returnValue = '', it does prevent and ask if I really want to close the tab.This would be an easy fix:
vue-use-kit/src/functions/useBeforeUnload/useBeforeUnload.ts
Lines 6 to 9 in 584bc1a
Source: https://community.plumsail.com/t/any-way-to-prevent-user-from-closing-tab-or-showing-a-warning-before-they-close-it-from-within-forms/10261/8