WebView.LoadData(String, String, String) Metodo

Definizione

Carica i dati specificati in questa visualizzazione Web usando un URL dello schema "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

Parametri

data
String

Stringa di dati nella codifica specificata

mimeType
String

tipo MIME dei dati, ad esempio 'text/html'.

encoding
String

codifica dei dati

Attributi

Commenti

Carica i dati specificati in questa visualizzazione Web usando un URL dello schema "data".

Si noti che gli stessi criteri di origine di JavaScript indicano che lo script in esecuzione in una pagina caricata usando questo metodo non sarà in grado di accedere al contenuto caricato usando uno schema diverso da "dati", incluso "http(s)". Per evitare questa restrizione, usare #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() con un URL di base appropriato.

Il encoding parametro specifica se i dati sono codificati in base64 o URL. Se i dati sono codificati in base64, il valore del parametro di codifica deve essere "base64". Il codice HTML può essere codificato in android.util.Base64#encodeToString(byte[],int) questo modo:

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");

Per tutti gli altri valori di encoding (incluso null) si presuppone che i dati usino la codifica ASCII per ottetti all'interno dell'intervallo di caratteri URL sicuri e usino la codifica standard %xx esadecimale degli URL per ottetti esterni a tale intervallo. Per altre informazioni, vedere RFC 3986 . android.os.Build.VERSION_CODES#Q Le applicazioni destinate o successive devono usare base64 o codificare qualsiasi # carattere nel contenuto come %23, altrimenti verranno considerate come fine del contenuto e il testo rimanente usato come identificatore di frammento di documento.

Il mimeType parametro specifica il formato dei dati. Se WebView non è in grado di gestire il tipo MIME specificato, i dati verranno scaricati. Se null, il valore predefinito è "text/html".

L'URL dello schema 'data' formato da questo metodo usa il set di caratteri predefinito US-ASCII. Se è necessario impostare un set di caratteri diverso, è necessario formare un URL dello schema "data" che specifica in modo esplicito un parametro charset nella parte mediatype dell'URL e chiamare #loadUrl(String) invece. Si noti che il set di caratteri ottenuto dalla parte mediatype di un URL di dati esegue sempre l'override specificato nel documento HTML o XML stesso.

Il contenuto caricato con questo metodo avrà il window.origin valore "null". Questo non deve essere considerato un'origine attendibile dall'applicazione o da qualsiasi codice JavaScript in esecuzione all'interno di WebView (ad esempio, origini eventi nei gestori eventi DOM o messaggi Web), perché il contenuto dannoso può anche creare frame con un'origine Null. Se è necessario identificare l'origine del frame principale in modo affidabile, è consigliabile usare #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() con un URL di base HTTP o HTTPS valido per impostare l'origine.

per android.webkit.WebView.loadData(java.lang.String, java.lang.String, java.lang.String).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a