WebView.LoadData(String, String, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Carrega os dados especificados neste WebView usando uma URL de esquema de 'dados'.
[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
Parâmetros
- data
- String
uma cadeia de caracteres de dados na codificação fornecida
- mimeType
- String
o tipo MIME dos dados, por exemplo, 'text/html'.
- encoding
- String
a codificação dos dados
- Atributos
Comentários
Carrega os dados especificados neste WebView usando uma URL de esquema de 'dados'.
Observe que a mesma política de origem do JavaScript significa que o script em execução em uma página carregada usando esse método não poderá acessar o conteúdo carregado usando qualquer esquema diferente de "dados", incluindo 'http(s)'. Para evitar essa restrição, use #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() com uma URL base apropriada.
O encoding parâmetro especifica se os dados são codificados em base64 ou URL. Se os dados forem codificados em base64, o valor do parâmetro de codificação deverá ser "base64". O HTML pode ser codificado com android.util.Base64#encodeToString(byte[],int) a seguinte maneira:
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");
Para todos os outros valores de encoding (incluindo null) supõe-se que os dados usem codificação ASCII para octetos dentro do intervalo de caracteres de URL seguros e usem o padrão %xx codificação hexadecima de URLs para octetos fora desse intervalo. Consulte RFC 3986 para obter mais informações.
android.os.Build.VERSION_CODES#Q Os aplicativos direcionados ou posteriores devem usar base64 ou codificar quaisquer # caracteres no conteúdo como%23, caso contrário, eles serão tratados como o final do conteúdo e o texto restante usado como um identificador de fragmento de documento.
O mimeType parâmetro especifica o formato dos dados. Se o WebView não puder lidar com o tipo MIME especificado, ele baixará os dados. Se null, o padrão é 'text/html'.
A URL do esquema 'data' formada por esse método usa o conjunto de caracteres de US-ASCII padrão. Se você precisar definir um conjunto de caracteres diferente, deverá formar uma URL de esquema de 'dados' que especifica explicitamente um parâmetro charset na parte mediatype da URL e chamar #loadUrl(String) em vez disso. Observe que o conjunto de caracteres obtido da parte mediatype de uma URL de dados sempre substitui aquele especificado no documento HTML ou XML em si.
O conteúdo carregado usando esse método terá um window.origin valor igual "null"a . Isso não deve ser considerado uma origem confiável pelo aplicativo ou por qualquer código JavaScript em execução dentro do WebView (por exemplo, fontes de eventos em manipuladores de eventos do DOM ou mensagens da Web), pois conteúdo mal-intencionado também pode criar quadros com uma origem nula. Se você precisar identificar a origem do quadro principal de forma confiável, deverá usar #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() com uma URL base HTTP ou HTTPS válida para definir a origem.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.