转-WebView loadData与loadDataWithBaseURL用法、区别
时间: 2024-02-18 10:59:32 浏览: 35
`loadData` 和 `loadDataWithBaseURL` 都是 `WebView` 的方法,用于在 `WebView` 中加载数据。
`loadData` 方法用于加载HTML内容,其语法为:
```java
public void loadData (String data, String mimeType, String encoding)
```
其中,`data` 参数是HTML内容的字符串形式,`mimeType` 参数是MIME类型,`encoding` 参数是字符编码。
`loadDataWithBaseURL` 方法同样用于加载HTML内容,但是可以指定基本URL,其语法为:
```java
public void loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String historyUrl)
```
其中,`baseUrl` 参数是基本URL,`data` 参数是HTML内容的字符串形式,`mimeType` 参数是MIME类型,`encoding` 参数是字符编码,`historyUrl` 参数是历史URL。
区别:
1. `loadData` 方法加载HTML内容时,如果HTML中包含了相对路径的资源文件,如图片、CSS、JS等,这些资源文件会根据 `WebView` 的 `baseUrl` 加载,如果没有设置 `baseUrl`,则会加载失败;而 `loadDataWithBaseURL` 方法可以指定基本URL,能够更好地加载相对路径的资源文件。
2. `loadDataWithBaseURL` 方法比 `loadData` 方法多了一个 `historyUrl` 参数,用于指定历史URL,方便用户在 `WebView` 中进行页面回退操作。
总之,如果HTML内容中包含了相对路径的资源文件,建议使用 `loadDataWithBaseURL` 方法来加载,否则使用 `loadData` 方法即可。