WebChromeClient.OnCreateWindow(WebView, Boolean, Boolean, Message) Méthode

Définition

Demandez à l’application hôte de créer une nouvelle fenêtre.

[Android.Runtime.Register("onCreateWindow", "(Landroid/webkit/WebView;ZZLandroid/os/Message;)Z", "GetOnCreateWindow_Landroid_webkit_WebView_ZZLandroid_os_Message_Handler")]
public virtual bool OnCreateWindow(Android.Webkit.WebView? view, bool isDialog, bool isUserGesture, Android.OS.Message? resultMsg);
[<Android.Runtime.Register("onCreateWindow", "(Landroid/webkit/WebView;ZZLandroid/os/Message;)Z", "GetOnCreateWindow_Landroid_webkit_WebView_ZZLandroid_os_Message_Handler")>]
abstract member OnCreateWindow : Android.Webkit.WebView * bool * bool * Android.OS.Message -> bool
override this.OnCreateWindow : Android.Webkit.WebView * bool * bool * Android.OS.Message -> bool

Paramètres

view
WebView

WebView à partir duquel la demande d’une nouvelle fenêtre provient.

isDialog
Boolean

true si la nouvelle fenêtre doit être une boîte de dialogue plutôt qu’une fenêtre pleine taille.

isUserGesture
Boolean

true si la demande a été lancée par un mouvement utilisateur, tel que l’utilisateur qui clique sur un lien.

resultMsg
Message

Message à envoyer une fois qu’un nouveau WebView a été créé. resultMsg.obj est un WebView.WebViewTransport objet. Cela doit être utilisé pour transporter le nouveau WebView, en appelant WebView.WebViewTransport#setWebView(WebView) WebView.WebViewTransport.setWebView(WebView).

Retours

Cette méthode doit retourner true si l’application hôte crée une nouvelle fenêtre, auquel cas resultMsg doit être envoyé à sa cible. Sinon, cette méthode doit retourner false. Le retour false de cette méthode, mais également l’envoi de resultMsg entraîne un comportement non défini.

Attributs

Remarques

Demandez à l’application hôte de créer une nouvelle fenêtre. Si l’application hôte choisit d’honorer cette requête, elle doit retourner true à partir de cette méthode, créer un WebView pour héberger la fenêtre, l’insérer dans le système d’affichage et envoyer le message resultMsg fourni à sa cible avec le nouveau WebView en tant qu’argument. Si l’application hôte choisit de ne pas respecter la demande, elle doit retourner false à partir de cette méthode. L’implémentation par défaut de cette méthode ne fait rien et retourne falsedonc .

Les applications ne doivent généralement pas autoriser la création de fenêtres lorsque l’indicateur isUserGesture est false, car il peut s’agir d’une fenêtre contextuelle indésirable.

Les applications doivent faire attention à la façon dont elles affichent la nouvelle fenêtre : ne la superposez pas simplement sur le WebView existant, car cela peut tromper l’utilisateur sur quel site il consulte. Si votre application affiche l’URL de la page principale, veillez également à afficher l’URL de la nouvelle fenêtre de manière similaire. Si votre application n’affiche pas d’URL, envisagez de refuser entièrement la création de nouvelles fenêtres.

<b>Remarque :</b> Il n’existe aucun moyen fiable de savoir quelle page a demandé la nouvelle fenêtre : la demande peut provenir d’un iframe tiers à l’intérieur du WebView.

Documentation Java pour android.webkit.WebChromeClient.onCreateWindow(android.webkit.WebView, boolean, boolean, android.os.Message).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à