在loadDataWithBaseURL从Android WebView的方法,有“baseUrl”和“historyUrl”。android web视图中的baseUrl是什么?
它们用于什么?
我已阅读android文档,但仍不知道它们是什么。
在loadDataWithBaseURL从Android WebView的方法,有“baseUrl”和“historyUrl”。android web视图中的baseUrl是什么?
它们用于什么?
我已阅读android文档,但仍不知道它们是什么。
加载HTML进入一个网页视图与基础URL
如果直接加载到WebView中的HTML在你的Android网络应用包含相对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个参数。数据参数是要加载到WebView中的HTML。 mimeType是加载到WebView中的数据的MIME类型(在本示例中为text/html)。编码是数据的二进制编码(在本例中为UTF-8)。注意:我尝试使用UTF-16作为编码,但在WebView中显示的内容看起来很奇怪(如亚洲字符)。
baseUrl参数是从中解释加载的HTML中的所有相对URL的基本URL。
historyUrl参数是要写入加载到WebView中的HTML的WebView内部导航历史记录的URL。如果用户从加载的HTML导航到另一个页面,然后单击“后退”按钮,则WebView将导航回该URL。由于浏览WebView的历史记录不会将您带到加载的HTML,而是转到historyUrl参数中指定的URL(或about,如果historyUrl设置为null,则为空白),因此您可能必须拦截加载此URL。
欲了解更多信息,请通过此tutorial和这stackoverflow answer。
什么的android文件说:
给定的数据加载到该WebView中,使用的baseUrl为基准URL的内容。
谢谢。这很清楚 – dondonhk 2015-03-31 07:05:35