gpt4 book ai didi

android - android web View 中的 baseUrl 是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:31:32 37 4
gpt4 key购买 nike

在Android WebView 的loadDataWithBaseURL 方法中,有“baseUrl”和“historyUrl”。

它们有什么用?

我已经阅读了 android 文档,但仍然不知道它们是什么。

最佳答案

使用基本 URL 将 HTML 加载到 WebView 中

如果您直接加载到 Android 网络应用的 WebView 中的 HTML 包含带有相对 URL 的链接,那么这些链接可能无法正常工作。当您将 HTML 直接加载到 WebView 时,HTML 没有可从中解释相对 URL 的基本 URL。 Android WebView 组件有一个解决方案。

您可以使用基本 URL 将 HTML 直接加载到 WebView 中。然后使用基本 URL 来解析 HTML 中的所有相对 URL。要使用基本 URL 加载 HTML,您必须使用 loadDataWithBaseURL() 方法。这是一个 WebView loadDataWithBaseURL() 示例:

String baseUrl    = "http://tutorials.jenkov.com";
String data = "Relative Link";
String mimeType = "text/html";
String encoding = "UTF-8";
String historyUrl = "http://tutorials.jenkov.com/jquery/index.html";
webView.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl);

loadDataWithBaseURL() 方法有 5 个参数。 data 参数是要加载到 WebView 中的 HTML。 mimeType 是加载到 WebView 中的数据的 mime 类型(在本例中为 text/html)。编码是数据的二进制编码(在本例中为 UTF-8)。注意:我尝试使用 UTF-16 作为编码,但 WebView 中显示的内容看起来很奇怪(像亚洲字符)。

baseUrl 参数是基本 URL,从中解释加载的 HTML 中的所有相对 URL。

historyUrl 参数是为加载到 WebView 中的 HTML 写入 WebView 内部导航历史记录的 URL。如果用户从加载的 HTML 导航到另一个页面,然后单击“后退”按钮,那么 WebView 将导航回这个 URL。您可能必须拦截此 URL 的加载,因为返回 WebView 的历史记录不会将您带到加载的 HTML,而是转到 historyUrl 参数中指定的 URL(如果 historyUrl 设置为 null,则为 about:blank)。

有关更多信息,请浏览此 tutorial还有这个stackoverflow answer .

关于android - android web View 中的 baseUrl 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29360936/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com