WebChromeClient.OnJsBeforeUnload(WebView, String, String, JsResult) Method

Definition

Notify the host application that the web page wants to confirm navigation from JavaScript onbeforeunload.

[Android.Runtime.Register("onJsBeforeUnload", "(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Landroid/webkit/JsResult;)Z", "GetOnJsBeforeUnload_Landroid_webkit_WebView_Ljava_lang_String_Ljava_lang_String_Landroid_webkit_JsResult_Handler")]
public virtual bool OnJsBeforeUnload (Android.Webkit.WebView? view, string? url, string? message, Android.Webkit.JsResult? result);
[<Android.Runtime.Register("onJsBeforeUnload", "(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Landroid/webkit/JsResult;)Z", "GetOnJsBeforeUnload_Landroid_webkit_WebView_Ljava_lang_String_Ljava_lang_String_Landroid_webkit_JsResult_Handler")>]
abstract member OnJsBeforeUnload : Android.Webkit.WebView * string * string * Android.Webkit.JsResult -> bool
override this.OnJsBeforeUnload : Android.Webkit.WebView * string * string * Android.Webkit.JsResult -> bool

Parameters

view
WebView

The WebView that initiated the callback.

url
String

The url of the page requesting the dialog.

message
String

Message to be displayed in the window.

result
JsResult

A JsResult used to send the user's response to javascript.

Returns

boolean true if the request is handled or ignored. false if WebView needs to show the default dialog.

Attributes

Remarks

Notify the host application that the web page wants to confirm navigation from JavaScript onbeforeunload.

The default behavior if this method returns false or is not overridden is to show a dialog containing the message and suspend JavaScript execution until the dialog is dismissed. The default dialog will continue the navigation if the user confirms the navigation, and will stop the navigation if the user wants to stay on the current page.

To show a custom dialog, the app should return true from this method, in which case the default dialog will not be shown and JavaScript execution will be suspended. When the custom dialog is dismissed, the app should call JsResult.confirm() to continue the navigation or, JsResult.cancel() to stay on the current page.

To suppress the dialog and allow JavaScript execution to continue, call JsResult.confirm() or JsResult.cancel() immediately and then return true.

Note that if the WebChromeClient is set to be null, or if WebChromeClient is not set at all, the default dialog will be suppressed and the navigation will be resumed immediately.

Note that the default dialog does not inherit the android.view.Display#FLAG_SECURE flag from the parent window.

Java documentation for android.webkit.WebChromeClient.onJsBeforeUnload(android.webkit.WebView, java.lang.String, java.lang.String, android.webkit.JsResult).

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Applies to