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

Definisi

Minta aplikasi host untuk membuat jendela baru.

[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

WebView tempat permintaan untuk jendela baru berasal.

isDialog
Boolean

true jika jendela baru harus berupa dialog, bukan jendela ukuran penuh.

isUserGesture
Boolean

true jika permintaan dimulai oleh gerakan pengguna, seperti pengguna mengklik tautan.

resultMsg
Message

Pesan yang akan dikirim ketika setelah WebView baru dibuat. resultMsg.obj adalah WebView.WebViewTransport objek. Ini harus digunakan untuk mengangkut WebView baru, dengan memanggil WebView.WebViewTransport#setWebView(WebView) WebView.WebViewTransport.setWebView(WebView).

Mengembalikan

Metode ini harus mengembalikan true jika aplikasi host akan membuat jendela baru, dalam hal ini resultMsg harus dikirim ke targetnya. Jika tidak, metode ini harus mengembalikan false. false Mengembalikan dari metode ini tetapi juga mengirim resultMsg akan mengakibatkan perilaku yang tidak terdefinisi.

Atribut

Keterangan

Minta aplikasi host untuk membuat jendela baru. Jika aplikasi host memilih untuk mematuhi permintaan ini, aplikasi harus kembali true dari metode ini, membuat WebView baru untuk menghosting jendela, menyisipkannya ke dalam sistem Tampilan dan mengirim pesan resultMsg yang disediakan ke targetnya dengan WebView baru sebagai argumen. Jika aplikasi host memilih untuk tidak mematuhi permintaan, aplikasi harus kembali false dari metode ini. Implementasi default metode ini tidak melakukan apa-apa dan karenanya mengembalikan false.

Aplikasi biasanya tidak boleh mengizinkan jendela dibuat ketika isUserGesture bendera salah, karena ini mungkin popup yang tidak diinginkan.

Aplikasi harus berhati-hati bagaimana mereka menampilkan jendela baru: jangan hanya melapisinya melalui WebView yang ada karena ini dapat menyesatkan pengguna tentang situs mana yang mereka lihat. Jika aplikasi Anda menampilkan URL halaman utama, pastikan juga menampilkan URL jendela baru dengan cara yang sama. Jika aplikasi Anda tidak menampilkan URL, pertimbangkan untuk melarang pembuatan jendela baru sepenuhnya.

<b>Catatan:</b> Tidak ada cara yang dapat dipercaya untuk memberi tahu halaman mana yang meminta jendela baru: permintaan mungkin berasal dari iframe pihak ketiga di dalam WebView.

Dokumentasi Java untuk android.webkit.WebChromeClient.onCreateWindow(android.webkit.WebView, boolean, boolean, android.os.Message).

Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.

Berlaku untuk