通常我们使用WebView加载网页来显示数据,网页可以是来自网络,也可以来自本地文件。有时我们不需要WebView加载整个网页,只需要显示一些html片段。下面将讨论WebView加载数据的几种方式。
loadData(String data, String mimeType, String encoding)
将data:scheme 的URL给定的数据加载到WebView中。
注意,JavaScript的同源策略意味着在使用该方法加载的页面中运行的脚本将无法访问除了 “data” 以外的任何方案加载的内容,包括“HTTP(S)”。
为了避免这种限制,可以使用带有适当的基本URL的loadDataWithBaseURL();
< script > < img > < iframe> 中的src,href都可以任意链接网络资源,不受同源策略限制。 图片是可以加载的,只是路径存在问题,使用绝对路径图片就可以正常加载。(如果图片无法显示可能有两个原因导致:一是路径不正确;另一个是未添加网络权限。)
如:
webView.loadData(data,"text/html","UTF-8");
如上述出现乱码,可用如下方式:
webView.loadData(data,"text/html; charset=UTF-8",null);
出现乱码时,设置如下也不会有效,因为默认值就是 “UTF-8”