WebChromeClient.OnCreateWindow(WebView, Boolean, Boolean, Message) Metodo

Definizione

Richiedere all'applicazione host di creare una nuova finestra.

[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

Parametri

view
WebView

WebView da cui ha avuto origine la richiesta di una nuova finestra.

isDialog
Boolean

true se la nuova finestra deve essere una finestra di dialogo, anziché una finestra di dimensioni intere.

isUserGesture
Boolean

true se la richiesta è stata avviata da un movimento dell'utente, ad esempio l'utente che fa clic su un collegamento.

resultMsg
Message

Messaggio da inviare quando è stato creato un nuovo controllo WebView. resultMsg.obj è un WebView.WebViewTransport oggetto . Deve essere usato per trasportare il nuovo controllo WebView chiamando WebView.WebViewTransport#setWebView(WebView) WebView.WebViewTransport.setWebView(WebView).

Valori restituiti

Questo metodo deve restituire true se l'applicazione host creerà una nuova finestra, nel qual caso resultMsg deve essere inviato alla destinazione. In caso contrario, questo metodo deve restituire false. La restituzione false da questo metodo ma anche l'invio di resultMsg comporterà un comportamento non definito.

Attributi

Commenti

Richiedere all'applicazione host di creare una nuova finestra. Se l'applicazione host sceglie di rispettare questa richiesta, deve restituire true da questo metodo, creare un nuovo WebView per ospitare la finestra, inserirla nel sistema View e inviare il messaggio resultMsg fornito alla destinazione con il nuovo WebView come argomento. Se l'applicazione host sceglie di non rispettare la richiesta, deve restituire false da questo metodo. L'implementazione predefinita di questo metodo non esegue alcuna operazione e quindi restituisce false.

Le applicazioni in genere non consentono la creazione di finestre quando il isUserGesture flag è false, perché potrebbe trattarsi di un popup indesiderato.

Le applicazioni devono prestare attenzione a come visualizzano la nuova finestra: non sovrapponerla semplicemente sul WebView esistente, perché ciò potrebbe indurre l'utente a individuare il sito che sta visualizzando. Se l'applicazione visualizza l'URL della pagina principale, assicurarsi di visualizzare anche l'URL della nuova finestra in modo simile. Se l'applicazione non visualizza GLI URL, è consigliabile non consentire completamente la creazione di nuove finestre.

<b Nota:</b>> Non esiste un modo attendibile per indicare quale pagina ha richiesto la nuova finestra: la richiesta potrebbe provenire da un iframe di terze parti all'interno di WebView.

per android.webkit.WebChromeClient.onCreateWindow(android.webkit.WebView, boolean, boolean, android.os.Message).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a