WebChromeClient.OnCreateWindow(WebView, Boolean, Boolean, Message) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
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.