首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

一个work around方法:解决Android 3.0~4.0下WebView 对锚点链接不支持的bug

2012-09-29 
一个work around方法:解决Android 3.0~4.0上WebView 对锚点链接不支持的bugAndroid应用将一些html文件放在

一个work around方法:解决Android 3.0~4.0上WebView 对锚点链接不支持的bug

Android应用将一些html文件放在工程内的assets目录下,通过WebView去显示这些html文件,简单地打开一个html文件是正常的。但是如果在一个html里点击一个链接,该链接指向另一个html里的一个锚位置,会出现错误,提示不可用。
"The webpage at file:///android_asset/other_file.html#fragmentmight...."
?在 ?http://code.google.com/p/android/issues/detail?id=17327?里有很热闹的讨论。
以上问题在Android4.0上出现,网上有反映3.0上也有,经实测在4.1上已修正。
如何在Android 4.0手机上修正此问题呢,一个work around方案如下:

?

mWebView.setWebViewClient(new WebViewClient() {

?

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

Log.d("erik", "loadUrl ,url = " + url);

view.loadUrl(url);

return true;

}

public void onReceivedError(WebView view, int errorCode,

String description, String failingUrl) {

if(failingUrl.contains("#")){

Log.d("erik", "failingurl = " + failingUrl);

String[] temp;

temp = failingUrl.split("#");

view.loadUrl(temp[0]); // load page without internal

try {

Thread.sleep(400);

} catch (InterruptedException e) {

?

e.printStackTrace();

}

view.goBack();

view.goBack();

}

}

});

热点排行