WebView.LoadData(String, String, String) 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.
Memuat data yang diberikan ke webView ini menggunakan URL skema 'data'.
[Android.Runtime.Register("loadData", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "GetLoadData_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Handler")]
public virtual void LoadData(string data, string? mimeType, string? encoding);
[<Android.Runtime.Register("loadData", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "GetLoadData_Ljava_lang_String_Ljava_lang_String_Ljava_lang_String_Handler")>]
abstract member LoadData : string * string * string -> unit
override this.LoadData : string * string * string -> unit
Parameter
- data
- String
String data dalam pengodean yang diberikan
- mimeType
- String
jenis MIME data, misalnya 'text/html'.
- encoding
- String
pengodean data
- Atribut
Keterangan
Memuat data yang diberikan ke webView ini menggunakan URL skema 'data'.
Perhatikan bahwa kebijakan asal JavaScript yang sama berarti bahwa skrip yang berjalan di halaman yang dimuat menggunakan metode ini tidak akan dapat mengakses konten yang dimuat menggunakan skema apa pun selain 'data', termasuk 'http'. Untuk menghindari pembatasan ini, gunakan #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() dengan URL dasar yang sesuai.
Parameter encoding menentukan apakah data dikodekan base64 atau URL. Jika data dikodekan base64, nilai parameter pengodean harus "base64". HTML dapat dikodekan dengan android.util.Base64#encodeToString(byte[],int) seperti ini:
String unencodedHtml =
"<html><body>'%28' is the code for '('</body></html>";
String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(), Base64.NO_PADDING);
webView.loadData(encodedHtml, "text/html", "base64");
Untuk semua nilai encoding lainnya (termasuk null) diasumsikan bahwa data menggunakan pengodean ASCII untuk oktet di dalam rentang karakter URL yang aman dan menggunakan pengodean heks %xx standar URL untuk oktet di luar rentang tersebut. Lihat RFC 3986 untuk informasi selengkapnya. Penargetan android.os.Build.VERSION_CODES#Q aplikasi atau yang lebih baru harus menggunakan base64 atau mengodekan karakter apa pun # dalam konten sebagai %23, jika tidak, mereka akan diperlakukan sebagai akhir konten dan teks yang tersisa yang digunakan sebagai pengidentifikasi fragmen dokumen.
Parameter mimeType menentukan format data. Jika WebView tidak dapat menangani jenis MIME yang ditentukan, WebView akan mengunduh data. Jika null, default ke 'text/html'.
URL skema 'data' yang dibentuk oleh metode ini menggunakan set karakter US-ASCII default. Jika Anda perlu mengatur charset yang berbeda, Anda harus membentuk URL skema 'data' yang secara eksplisit menentukan parameter charset di bagian mediatype URL dan memanggil #loadUrl(String) sebagai gantinya. Perhatikan bahwa charset yang diperoleh dari bagian mediatipe URL data selalu mengambil alih yang ditentukan dalam dokumen HTML atau XML itu sendiri.
Konten yang dimuat menggunakan metode ini akan memiliki window.origin nilai "null". Ini tidak boleh dianggap sebagai asal tepercaya oleh aplikasi atau oleh kode JavaScript apa pun yang berjalan di dalam WebView (misalnya, sumber peristiwa di penanganan peristiwa DOM atau pesan web), karena konten berbahaya juga dapat membuat bingkai dengan asal null. Jika Anda perlu mengidentifikasi asal bingkai utama dengan cara yang dapat dipercaya, Anda harus menggunakan #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() DENGAN URL dasar HTTP atau HTTPS yang valid untuk mengatur asal.
Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.