在Android WebView的loadDataWithBaseURL方法中,有"baseUrl"和"historyUrl".
它们用于什么?
我已经阅读了android文档,但仍然不知道它们是什么.
Exc*_*ion 11
使用基本URL将HTML加载到WebView中
如果直接加载到Android Web应用程序中的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);
Run Code Online (Sandbox Code Playgroud)
loadDataWithBaseURL()方法有5个参数.data参数是要加载到WebView中的HTML.mimeType是加载到WebView中的数据的mime类型(在此示例中为text/html).编码是数据的二进制编码(在此示例中为UTF-8).注意:我尝试使用UTF-16作为编码,但WebView中显示的内容看起来很奇怪(如亚洲字符).
baseUrl参数是基本URL,从中解释加载的HTML中的所有相对URL.
historyUrl参数是写入WebView内部导航历史记录的URL,用于加载到WebView中的HTML.如果用户从加载的HTML导航到另一个页面,然后单击"返回"按钮,则WebView将导航回此URL.您可能必须拦截此URL的加载,因为导航回WebView的历史记录不会将您带到加载的HTML,而是带到historyUrl参数中指定的URL(如果historyUrl设置为null,则为about:blank).
有关更多信息,请阅读本教程和此stackoverflow答案.
| 归档时间: |
|
| 查看次数: |
6918 次 |
| 最近记录: |