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. }  
  • 相关阅读:
    output在delete中的应用
    静态什么时候用?
    Main函数解析
    构造函数
    Main函数解析
    java类类型
    静态使用的注意事项
    Main函数剖析
    成员变量和局部变量的区别
    static的特点
  • 原文地址:https://www.cnblogs.com/zhwl/p/3375775.html
Copyright © 2011-2022 走看看