WebChromeClient.OnCreateWindow(WebView, Boolean, Boolean, Message) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.
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.