WebChromeClient.OnCreateWindow(WebView, Boolean, Boolean, Message) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fordern Sie die Hostanwendung an, ein neues Fenster zu erstellen.
[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
Parameter
- view
- WebView
Das WebView, aus dem die Anforderung für ein neues Fenster stammt.
- isDialog
- Boolean
true wenn es sich bei dem neuen Fenster um ein Dialogfeld anstelle eines Fensters mit voller Größe handelt.
- isUserGesture
- Boolean
true wenn die Anforderung durch eine Benutzergeste initiiert wurde, z. B. der Benutzer auf einen Link klickt.
- resultMsg
- Message
Die Nachricht, die gesendet werden soll, wenn ein neues WebView erstellt wurde. resultMsg.obj ist ein WebView.WebViewTransport Objekt. Dies sollte verwendet werden, um das neue WebView durch Aufrufen WebView.WebViewTransport#setWebView(WebView)
WebView.WebViewTransport.setWebView(WebView)zu transportieren.
Gibt zurück
Diese Methode sollte zurückgegeben true werden, wenn die Hostanwendung ein neues Fenster erstellt, in diesem Fall sollte resultMsg an das Ziel gesendet werden. Andernfalls sollte diese Methode zurückgegeben werden false. Das false Zurückgeben von dieser Methode, aber auch das Senden von resultMsg führt zu einem nicht definierten Verhalten.
- Attribute
Hinweise
Fordern Sie die Hostanwendung an, ein neues Fenster zu erstellen. Wenn die Hostanwendung diese Anforderung berücksichtigt, sollte sie von dieser Methode zurückgegeben true werden, erstellen Sie ein neues WebView zum Hosten des Fensters, fügen Sie es in das Ansichtssystem ein, und senden Sie die bereitgestellte resultMsg-Nachricht mit dem neuen WebView als Argument an das Ziel. Wenn die Hostanwendung die Anforderung nicht berücksichtigt, sollte sie von dieser Methode zurückgegeben werden false . Die Standardimplementierung dieser Methode führt nichts aus und gibt daher zurück false.
Anwendungen sollten in der Regel nicht zulassen, dass Fenster erstellt werden, wenn das isUserGesture Kennzeichen falsch ist, da dies möglicherweise ein unerwünschtes Popup ist.
Anwendungen sollten vorsichtig sein, wie sie das neue Fenster anzeigen: Überlagern Sie es nicht einfach über das vorhandene WebView, da dies den Benutzer dazu führen kann, welche Website sie anzeigen. Wenn ihre Anwendung die URL der Hauptseite anzeigt, müssen Sie auch die URL des neuen Fensters auf ähnliche Weise anzeigen. Wenn Ihre Anwendung keine URLs anzeigt, sollten Sie die Erstellung neuer Fenster vollständig aufheben.
<b>Hinweis:</b> Es gibt keine vertrauenswürdige Möglichkeit, zu erkennen, welche Seite das neue Fenster angefordert hat: Die Anforderung kann von einem Drittanbieter-iframe innerhalb der WebView stammen.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.