WebView.LoadData(String, String, String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Carga los datos especificados en esta vista web mediante una dirección URL de esquema de "datos".
[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
una cadena de datos en la codificación especificada
- mimeType
- String
el tipo MIME de los datos, por ejemplo, "text/html".
- encoding
- String
codificación de los datos
- Atributos
Comentarios
Carga los datos especificados en esta vista web mediante una dirección URL de esquema de "datos".
Tenga en cuenta que la misma directiva de origen de JavaScript significa que el script que se ejecuta en una página cargada mediante este método no podrá acceder al contenido cargado mediante cualquier esquema distinto de "datos", incluidos "http(s)". Para evitar esta restricción, use #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() con una dirección URL base adecuada.
El encoding parámetro especifica si los datos están codificados en base64 o url. Si los datos están codificados en base64, el valor del parámetro de codificación debe ser "base64". HTML se puede codificar con android.util.Base64#encodeToString(byte[],int) el siguiente formato:
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 los demás valores de encoding (incluido null) se supone que los datos usan codificación ASCII para octetos dentro del intervalo de caracteres de dirección URL seguros y usan la codificación hexadecimal estándar de %xx hexadecimal de direcciones URL para octetos fuera de ese intervalo. Consulte RFC 3986 para obtener más información. Las aplicaciones destinadas android.os.Build.VERSION_CODES#Q a o posterior deben usar base64 o codificar los # caracteres del contenido como %23, de lo contrario, se tratarán como el final del contenido y el texto restante utilizado como identificador de fragmento de documento.
El mimeType parámetro especifica el formato de los datos. Si WebView no puede controlar el tipo MIME especificado, descargará los datos. Si nulles , el valor predeterminado es "text/html".
La dirección URL del esquema "data" formada por este método usa el US-ASCII charset predeterminado. Si necesita establecer un conjunto de caracteres diferente, debe formar una dirección URL de esquema de datos que especifique explícitamente un parámetro charset en la parte del tipo de medios de la dirección URL y llame a #loadUrl(String) en su lugar. Tenga en cuenta que el conjunto de caracteres obtenido de la parte mediatype de una dirección URL de datos siempre invalida que se especifica en el propio documento HTML o XML.
El contenido cargado mediante este método tendrá un window.origin valor de "null". Esto no debe considerarse un origen de confianza para la aplicación o cualquier código javaScript que se ejecute dentro de WebView (por ejemplo, orígenes de eventos en controladores de eventos DOM o mensajes web), ya que el contenido malintencionado también puede crear marcos con un origen NULO. Si necesita identificar el origen del marco principal de forma confiable, debe usar #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() con una dirección URL base HTTP o HTTPS válida para establecer el origen.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.