WebView.LoadData(String, String, String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Загружает данные в этот WebView с помощью URL-адреса схемы "данные".
[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 с помощью URL-адреса схемы "данные".
Обратите внимание, что политика происхождения JavaScript означает, что скрипт, работающий на странице, загруженной с помощью этого метода, не сможет получить доступ к содержимому, загруженному с помощью любой схемы, отличной от "данных", включая http(s)". Чтобы избежать этого ограничения, используйте #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() соответствующий базовый URL-адрес.
Параметр 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) предполагается, что данные используют кодировку ASCII для октетов в диапазоне безопасных символов URL-адресов и используют стандартную %xx шестнадцатеричную кодировку URL-адресов для октетов за пределами этого диапазона. Дополнительные сведения см. в RFC 3986 . Приложения, предназначенные android.os.Build.VERSION_CODES#Q или более поздней версии, должны использовать base64 или кодировать любые # символы в содержимом, как %23, в противном случае они будут рассматриваться как конец содержимого и оставшийся текст, используемый в качестве идентификатора фрагмента документа.
Параметр mimeType задает формат данных. Если WebView не может обрабатывать указанный тип MIME, он скачивает данные. Если nullзначение по умолчанию — text/html.
URL-адрес схемы данных, сформированный этим методом, использует US-ASCII charset по умолчанию. Если необходимо задать другой набор символов, следует сформировать URL-адрес схемы data, который явно указывает параметр charset в части URL-адреса и вызова #loadUrl(String) . Обратите внимание, что набор символов, полученный из части URL-адреса данных, всегда переопределяет, указанный в самом HTML-документе или XML.
Содержимое, загруженное с помощью этого метода, будет иметь window.origin значение "null". Это не должно считаться доверенным источником приложения или любым кодом JavaScript, работающим внутри WebView (например, источниками событий в обработчиках событий DOM или веб-сообщениях), так как вредоносное содержимое также может создавать кадры с пустым источником. Если необходимо определить источник основного кадра надежным способом, следует использовать #loadDataWithBaseURL(String,String,String,String,String) loadDataWithBaseURL() с допустимым базовым URL-адресом HTTP или HTTPS, чтобы задать источник.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".