Android webview獲取html的內容

  Android用文本view加載HTML時,能夠首先獲取到html的內容,而後對html作本身想要的效果調整javascript

    @Override
    protected void onCreate(Bundle savedInstanceState) {html

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webView = (WebView) findViewById(R.id.web);
        loadHtml();java

}web

 

    private void loadHtml() {
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setSupportZoom(true);
        webView.addJavascriptInterface(new InJavaScriptLocalObj(), "java_obj");
        webView.loadUrl("http://www.baidu.com");
        webView.setWebViewClient(new CustomWebViewClient());
        WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
        int width = wm.getDefaultDisplay().getWidth();
        webView.scrollTo(width, 0);
    }ide

 

    final class CustomWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
        }
        @Override
        public void onPageFinished(WebView view, String url) {
            view.loadUrl("javascript:window.java_obj.getSource('<head>'+" +
                    "document.getElementsByTagName('html')[0].innerHTML+'</head>');");
            super.onPageFinished(view, url);
        }
    }url

 

    final class InJavaScriptLocalObj {
        @JavascriptInterface
        public void getSource(String html) {
            Log.e("html=", html);
        }
    }.net

相關文章
相關標籤/搜索