WebView.LoadData(String, String, String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
"data" スキーム URL を使用して、指定されたデータをこの 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
データのエンコード
- 属性
注釈
"data" スキーム URL を使用して、指定されたデータをこの WebView に読み込みます。
JavaScript の同じ配信元ポリシーは、このメソッドを使用して読み込まれたページで実行されているスクリプトは、'data' 以外のスキーム ("http(s)" を含む) を使用して読み込まれたコンテンツにアクセスできないことに注意してください。 この制限を回避するには、適切なベース URL で #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() を使用します。
encoding パラメーターは、データが base64 または URL でエンコードされているかどうかを指定します。 データが base64 でエンコードされている場合は、エンコード パラメーターの値を "base64"する必要があります。 HTML は、次のように android.util.Base64#encodeToString(byte[],int) でエンコードできます。
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");
encodingの他のすべての値 (null を含む) では、データが安全な URL 文字の範囲内のオクテットに ASCII エンコードを使用し、その範囲外のオクテットに対して URL の標準 %xx 16 進エンコードを使用することが想定されます。 詳細については 、RFC 3986 を参照してください。
android.os.Build.VERSION_CODES#Q以降を対象とするアプリケーションは、base64 を使用するか、コンテンツ内の任意の#文字を%23としてエンコードする必要があります。それ以外の場合は、コンテンツの末尾およびドキュメント フラグメント識別子として使用される残りのテキストとして扱われます。
mimeType パラメーターは、データの形式を指定します。 指定した MIME の種類を WebView が処理できない場合は、データがダウンロードされます。
null場合、既定値は 'text/html' です。
このメソッドによって形成される 'data' スキーム URL は、既定の US-ASCII 文字セットを使用します。 別の文字セットを設定する必要がある場合は、URL の mediatype 部分に文字セット パラメーターを明示的に指定し、代わりに #loadUrl(String) を呼び出す 'data' スキーム URL を形成する必要があります。 データ URL の mediatype 部分から取得した文字セットは、常に HTML または XML ドキュメント自体で指定された文字セットよりも優先されることに注意してください。
このメソッドを使用して読み込まれたコンテンツには、"null"のwindow.origin値があります。 悪意のあるコンテンツは null のオリジンを持つフレームを作成する可能性があるため、アプリケーションまたは WebView 内で実行されている JavaScript コード (DOM イベント ハンドラーや Web メッセージ内のイベント ソースなど) では、信頼できる配信元と見なす必要はありません。 メイン フレームの配信元を信頼できる方法で識別する必要がある場合は、有効な HTTP または HTTPS ベース URL で #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() を使用して配信元を設定する必要があります。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。