onbeforeunload event
Fires prior to a document being unloaded.
Syntax
HTML Attribute | <element onbeforeunload = "handler(event)"> |
Event Property | object.onbeforeunload = handler; |
attachEvent Method | object.attachEvent("onbeforeunload", handler) |
addEventListener Method | object.addEventListener("beforeunload", handler, useCapture) |
Event information
Synchronous | No |
Bubbles | No |
Cancelable | Yes |
Event handler parameters
- pEvtObj [in]
Type: IHTMLEventObj
Standards information
There are no standards that apply here.
Remarks
When a string is assigned to the IHTMLDialog::returnValue property of window.event, a dialog box appears that gives users the option to stay on the current document and retain the string that was assigned to it. The default statement that appears in the dialog box, "Are you sure you want to navigate away from this page? ... Press OK to continue, or Cancel to stay on the current page.
", cannot be removed or altered.
onbeforeunload in Windows apps using JavaScript
In Windows apps using JavaScript, the onbeforeunload event fires before the top-level page in navigated. The IHTMLDialog::returnValue property of window.event is always ignored and onunload will fire immediately. No dialog is shown to the user and the navigation can't be cancelled. Note that, in most cases, the app should never navigate its top-level document. Windows apps using JavaScript should use oncheckpoint event to determine when they need to save state information.
General info
This event signals that the document is about to be unloaded.
To invoke this event, do one of the following:
- Close the current window.
- Navigate to another location by entering a new address or selecting a Favorite.
- Click an anchor that refers to another document.
- Invoke the anchor.IHTMLElement::click method.
- Invoke the document.IHTMLDocument2::write method.
- Invoke the document.IHTMLDocument2::close method.
- Invoke the window.IHTMLWindow2::close method.
- Invoke the window.IHTMLWindow2::navigate or IShellUIHelper::NavigateAndFind method.
- Invoke the location.IHTMLLocation::replace method.
- Invoke the location.IHTMLLocation::reload method.
- Specify a new value for the location.IHTMLLocation::href property.
- Submit a form to the address specified in the IHTMLFormElement4::action attribute via the INPUT type=submit control, or invoke the form.IHTMLFormElement::submit method.
- Invoke the window.IHTMLWindow2::open method, providing the possible value _self for the window name.
- Invoke the document.IHTMLDocument2::open method.
- Click the Back, Forward, Refresh, or Home button.
The pEvtObj parameter is required for the following interfaces:
- HTMLAnchorEvents2
- HTMLAreaEvents2
- HTMLButtonElementEvents2
- HTMLControlElementEvents2
- HTMLDocumentEvents2
- HTMLElementEvents2
- HTMLFormElementEvents2
- HTMLImgEvents2
- HTMLFrameSiteEvents2
- HTMLInputFileElementEvents2
- HTMLInputImageEvents2
- HTMLInputTextElementEvents2
- HTMLLabelEvents2
- HTMLLinkElementEvents2
- HTMLMapEvents2
- HTMLMarqueeElementEvents2
- HTMLObjectElementEvents2
- HTMLOptionButtonElementEvents2
- HTMLScriptEvents2
- HTMLSelectElementEvents2
- HTMLStyleElementEvents2
- HTMLTableEvents2
- HTMLTextContainerEvents2
- HTMLWindowEvents2
See also
Reference
Conceptual