WebView.loadDataWithBaseURL和绝对URL

时间:2016-06-17 17:31:37

标签: android html webview

我有一个网站,我本地存储在myProject / assets中。我想创建一个WebView来显示它。

我使用此代码:

    myWebView.loadDataWithBaseURL("file:///android_asset/", htmlContent, "text/html", "utf-8", null);

其中htmlContent是一个字符串,它是从本地文件正确加载的。

不幸的是,该网站有绝对的链接:它们都以" /"当用户点击这样的链接时,我在WebView中收到此错误:

file:///linkedpage.html not found

因此,正如文档所述,只有相对链接而非绝对链接才有BaseURL。的确,如果我删除了最初的" /"从链接,它的工作原理。

这可能是网站编写方式的错误,但我不是它的编写者而且我无法改变它(无论如何它是有道理的,因为html链接实际上是根本的该网站,所以用" /"来称呼它们是没有错的。)

我该如何管理?例如,有没有办法拦截链接上的点击并修改他们的网址?或者我可以有效地向WebView传授" file:/// android-asset /"真的是网站的根源,而不是" file:///",apache-style?或者是否有另一个更清洁的解决方案(除了更改html文件,我不想做)

0 个答案:

没有答案