[英]Android webview href not support in html page
我想通過單擊android webview中index.html中的按鈕來加載到資產文件夾中的about.html頁面。
這是代碼:
按鈕:
<a href="about.html">About</a>
Java的:
WebView browser = (WebView) findViewById(webview);
browser.getSettings().setJavaScriptEnabled(true);
browser.setWebChromeClient(new WebChromeClient());
browser.loadUrl("file:///android_asset/www/index.html");
browser.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
});
但是問題是,當我單擊按鈕時,它不會加載about.html,但是如果我添加具有以下代碼的javascript函數,它將起作用..但我想使用href。
碼:
<button onclick="about()">About</button>
<script>
function about() {
location.href = "about.html";
}
</script>
我該如何解決?
為TagHandler寫一個接口,並在fromHtml方法中檢查標簽並通過加載頁面來處理它
https://developer.android.com/reference/android/text/Html.html
試試這個代碼:
private void loadWebView(WebView webView,String htmlString)
{
try {
final String mimeType = "text/html";
final String encoding = "UTF-8";
WebViewClient yourWebClient = new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
// This line we let me load only pages inside Webpage
if ( url.contains("") == true )
// Load new URL Don't override URL Link
return false;
// Return true to override url loading (In this case do nothing).
return true;
}
};
// Get Web view
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.setWebViewClient(yourWebClient);
// Load URL
webView.loadDataWithBaseURL("", htmlString, mimeType, encoding, "");
} catch (Exception e) {
e.printStackTrace();
}
}
用作:
loadWebView(browser, "file:///android_asset/www/index.html") //pass url
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.