我遇到了WebView的问题。我的应用程序内置了使用本地资产中的html制作的帮助文件。我用WebView显示html文件。
我的问题是,WebView的goBack()函数在尝试返回书签位置时无法返回上一页。
例如:
我怀疑WebView没有处理本地文件的查看历史记录。我正在使用OS 4.0.3。
任何解决方案?
答案 0 :(得分:0)
我找到了解决此问题的(妥协)解决方案。我们讨论了这个问题here,可以找到一个解决方案here(日语页面,抱歉)。在我的情况下,在知道某些Android操作系统中的错误之后,回到上一页(不是确切的锚位置)就可以了。所以我最终得到了下一个代码。
webView = (WebView)findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient()
{
// https://stackoverflow.com/questions/6542702/basic-internal-links-dont-work-in-honeycomb-app
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
super.onReceivedError(view, errorCode, description, failingUrl);
String url = failingUrl;
int index = url.indexOf("#");
if (index != -1)
{
url = url.substring(0, index);
}
webView.loadUrl(url);
}
});
使用此代码时,如果无法使用锚点返回上一页,则会返回上一页,而不会生成锚点。我妥协了。我试图用其他使用Java Script的解决方案做得更好,但没有用。