zoukankan      html  css  js  c++  java
  • 获取WebView加载HTML时网页中的内容

    main.xml如下:

    1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    2.     xmlns:tools="http://schemas.android.com/tools"  
    3.     android:layout_width="match_parent"  
    4.     android:layout_height="match_parent"  
    5.     tools:context=".MainActivity" >  
    6.   
    7.     <WebView  
    8.         android:id="@+id/webView"  
    9.         android:layout_width="fill_parent"  
    10.         android:layout_height="fill_parent"  
    11.         android:layout_centerHorizontal="true"  
    12.         android:layout_centerVertical="true"  
    13.          />  
    14.   
    15. </RelativeLayout>  

    MainActivity如下:

    1. package com.example.testgetwebviewcontent;  
    2. import android.app.Activity;  
    3. import android.graphics.Bitmap;  
    4. import android.os.Bundle;  
    5. import android.webkit.WebView;  
    6. import android.webkit.WebViewClient;  
    7. /** 
    8.  * Dmeo说明: 
    9.  * 当WebView加载网页时获取该网页中的内容. 
    10.  * 参考资料: 
    11.  * http://www.maxters.net/2012/02/android-webview-get-html-source/ 
    12.  */  
    13. public class MainActivity extends Activity {  
    14.    private WebView mWebView;  
    15.      
    16.     @Override  
    17.     protected void onCreate(Bundle savedInstanceState) {  
    18.         super.onCreate(savedInstanceState);  
    19.         setContentView(R.layout.main);  
    20.         init();  
    21.     }  
    22.     private void init(){  
    23.         mWebView=(WebView) findViewById(R.id.webView);  
    24.         mWebView.getSettings().setJavaScriptEnabled(true);  
    25.         mWebView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj");  
    26.         mWebView.getSettings().setSupportZoom(true);  
    27.         mWebView.getSettings().setDomStorageEnabled(true);  
    28.         mWebView.getSettings().setPluginsEnabled(true);  
    29.         mWebView.requestFocus();  
    30.         mWebView.getSettings().setUseWideViewPort(true);  
    31.         mWebView.getSettings().setLoadWithOverviewMode(true);  
    32.         mWebView.getSettings().setSupportZoom(true);  
    33.         mWebView.getSettings().setBuiltInZoomControls(true);  
    34.         mWebView.loadUrl("http://www.baidu.com");  
    35.         mWebView.setWebViewClient(new WebViewClient() {  
    36.             @Override  
    37.             public void onPageStarted(WebView view, String url, Bitmap favicon) {  
    38.                 super.onPageStarted(view, url, favicon);  
    39.             }  
    40.   
    41.             @Override  
    42.             public boolean shouldOverrideUrlLoading(WebView view, String url) {  
    43.                 view.loadUrl(url);  
    44.                 return true;  
    45.             }  
    46.   
    47.             @Override  
    48.             public void onPageFinished(WebView view, String url) {  
    49.                 super.onPageFinished(view, url);  
    50.                 view.loadUrl("javascript:window.local_obj.showSource('<head>'+"  
    51.                         + "document.getElementsByTagName('html')[0].innerHTML+'</head>');");  
    52.   
    53.             }  
    54.   
    55.             @Override  
    56.             public void onReceivedError(WebView view, int errorCode,  
    57.                     String description, String failingUrl) {  
    58.                 super.onReceivedError(view, errorCode, description, failingUrl);  
    59.             }  
    60.   
    61.         });  
    62.     }  
    63.       
    64.     final class InJavaScriptLocalObj {  
    65.         public void showSource(String html) {  
    66.             System.out.println("====>html="+html);  
    67.         }  
    68.     }  
    69. }  
  • 相关阅读:
    CodeForces 156B Suspects(枚举)
    CodeForces 156A Message(暴力)
    CodeForces 157B Trace
    CodeForces 157A Game Outcome
    HDU 3578 Greedy Tino(双塔DP)
    POJ 2609 Ferry Loading(双塔DP)
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛十六进制转换成十进制
  • 原文地址:https://www.cnblogs.com/zhwl/p/3375775.html
Copyright © 2011-2022 走看看