Javascript Android webview href在html页面中不支持

Javascript Android webview href在html页面中不支持,javascript,android,Javascript,Android,我想通过单击android webview中index.html中的按钮加载到资产文件夹中的about.html页面 代码如下: 按钮: <a href="about.html">About</a> 但问题是,当我点击按钮时,它不会加载about.html,但如果我添加一个带有以下代码的javascript函数,它就会工作。。但是我想用href 代码: 关于 函数about(){ location.href=“about.html”; } 如何解决它?为TagH

我想通过单击android webview中index.html中的按钮加载到资产文件夹中的about.html页面

代码如下:

按钮:

<a href="about.html">About</a>
但问题是,当我点击按钮时,它不会加载about.html,但如果我添加一个带有以下代码的javascript函数,它就会工作。。但是我想用href

代码:

关于
函数about(){
location.href=“about.html”;
}   

如何解决它?

为TagHandler编写一个接口,并在fromHtml方法中检查标记,然后通过加载页面来处理它

请尝试以下代码:

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 
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