2012-09-14 49 views
4

之间的差异而Android的WebView有2种方法来加载数据是什么的Android的WebView loadData和loadDataWithBaseURL

public void loadData (String data, String mimeType, String encoding) 

需要注意的是JavaScript的同源策略意味着脚本 运行使用此方法的页面加载后,无法访问使用“数据”以外的任何方案加载的内容 ,包括“http(s)”。至 请避免此限制,请将loadDataWithBaseURL()与适当的 基本URL一起使用。

public void loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String historyUrl) 

注意,以这种方式指定的内容可以访问本地设备文件 (通过“文件”方案的URL)只有baseurl指比 “HTTP”等方案, 'https','ftp','ftps','about'或'javascript'。

我不知道这两句话是什么意思,什么时候在两者之间进行选择?

在此先感谢

+0

我一直在想,如何'setWebViewClient'比较? – Fattie

回答

8
public void loadData (String data, String mimeType, String encoding) 

在此我们通过在HTML,mime类型和编码

别的地方在

public void loadDataWithBaseURL (String baseUrl, String data, String mimeType, String encoding, String historyUrl) 

其中baseUrl可能是基础url,例如资产文件夹路径或SDCard或任何其他路径,其中您的图片或其他媒体驻留与您的html相关,并且我不太了解历史记录到[loadData][1]

注意文档的JavaScript的同源策略意味着脚本中使用此方法加载的网页运行将是无法访问的内容使用比“数据”以外的任何方式加载,包括“HTTP(S) ”。为避免此限制,请使用loadDataWithBaseURL()和适当的基本URL。

意味着loaddata将只包含驻留在第一个参数中的部分。

注意,以这种方式指定的内容可以访问本地设备文件(通过“文件”方案的URL)只有baseurl指不是“HTTP”,“HTTPS”,“FTP”以外的其他方案,'ftps','about'或'javascript'。

上面的简单含义是你可以访问http和...的数据。其他通过传递的baseUrl

例如我写这需要吨图像从我的FTP或其他地方的HTML什么,我会做的是通过我的FTP的URL BASEURL参数,我可以访问我的图片

+0

@Yama moto编辑我的帖子 –

+0

@Yama moto考虑这... http://en.wikipedia.org/wiki/File_URI_scheme,其中提到: - 用于从自己的计算机中检索文件。在我们的情况下,它是电话 –

+0

在这方面计划意味着什么? – onmyway133

2

第二个派上用场,当你在本地加载HTML和它引用的资产,如图像& CSS这也是在本地包装

1

loadDataWithBaseURL()也带有Unicode支持。当您尝试加载英语以外的网页时可能会有所帮助。

相关问题