WebView.LoadData(String, String, String) 方法

定義

透過「資料」方案的網址,將給定的資料載入此 WebView。

[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

參數

data
String

一串資料,屬於給定編碼

mimeType
String

資料的 MIME 類型,例如 'text/html'。

encoding
String

資料編碼

屬性

備註

透過「資料」方案的網址,將給定的資料載入此 WebView。

請注意,JavaScript 的原始原則相同,意味著在使用此方法載入的頁面中執行的腳本,將無法存取除「資料」以外任何載入內容,包括「http(s)」。 為避免此限制,請 #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() 使用適當的基礎網址。

encoding 參數指定資料是 base64 編碼還是 URL 編碼。 若資料為 base64 編碼,則編碼參數的值必須為 "base64"。 HTML 可以編碼如下 android.util.Base64#encodeToString(byte[],int)

String unencodedHtml =
                "&lt;html&gt;&lt;body&gt;'%28' is the code for '('&lt;/body&gt;&lt;/html&gt;";
            String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(), Base64.NO_PADDING);
            webView.loadData(encodedHtml, "text/html", "base64");

對於所有其他值 encoding (包括 null),假設資料對安全 URL 字元範圍內的八位元組使用 ASCII 編碼,而對該範圍內以外的八位元組則使用標準的 %xx 十六進位編碼。 更多資訊請參閱 RFC 3986 。 針對或更新的 android.os.Build.VERSION_CODES#Q 應用程式必須使用 base64 或將內容中的任何 # 字元編碼為 %23,否則它們將被視為內容結尾,剩餘文字則用作文件片段識別碼。

參數 mimeType 指定資料的格式。 如果 WebView 無法處理指定的 MIME 類型,它會下載資料。 如果 null,則預設為「text/html」。

此方法形成的「資料」方案 URL 使用預設的 US-ASCII 字元集。 如果你需要設定不同的字元集,應該建立一個「data」方案的 URL,明確在 URL 的 mediatype 部分指定字元集參數,然後 #loadUrl(String) 呼叫。 請注意,從資料網址的媒體類型部分取得的字元集,總是會覆蓋 HTML 或 XML 文件中所指定的字元集。

使用此方法載入的內容值為 window.origin"null"。 應用程式或任何在 WebView 內執行的 JavaScript 程式碼(例如 DOM 事件處理器中的事件來源或網路訊息)都不應將其視為可信來源,因為惡意內容也可能產生來源為空的框架。 如果你需要以可信的方式辨識主框架的來源,應該搭配 #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() 有效的 HTTP 或 HTTPS 基礎 URL 來設定來源。

Java 文件 android.webkit.WebView.loadData(java.lang.String, java.lang.String, java.lang.String)

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於