Android:在WebView中获取网页源码

  1. import android.app.Activity;  
  2. import android.graphics.Bitmap;  
  3. import android.os.Bundle;  
  4. import android.util.Log;  
  5. import android.webkit.WebView;  
  6. import android.webkit.WebViewClient;  
  7.   
  8. public class HtmlSource extends Activity {  
  9.     private WebView webView;  
  10.     /** Called when the activity is first created. */  
  11.     @Override  
  12.     public void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.main);  
  15.         webView = (WebView)findViewById(R.id.webview);  
  16.         webView.getSettings().setJavaScriptEnabled(true);  
  17.         webView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj");  
  18.         webView.setWebViewClient(new MyWebViewClient());  
  19.         webView.loadUrl("http://www.cnblogs.com/hibraincol/");  
  20.     }  
  21.       
  22.       
  23.    final class MyWebViewClient extends WebViewClient{    
  24.         public boolean shouldOverrideUrlLoading(WebView view, String url) {     
  25.             view.loadUrl(url);     
  26.             return true;     
  27.         }    
  28.         public void onPageStarted(WebView view, String url, Bitmap favicon) {  
  29.             Log.d("WebView","onPageStarted");  
  30.             super.onPageStarted(view, url, favicon);  
  31.         }      
  32.         public void onPageFinished(WebView view, String url) {  
  33.             Log.d("WebView","onPageFinished ");  
  34.             view.loadUrl("javascript:window.local_obj.showSource('<head>'+" +  
  35.                     "document.getElementsByTagName('html')[0].innerHTML+'</head>');");  
  36.             super.onPageFinished(view, url);  
  37.         }  
  38.     }  
  39.       
  40.     final class InJavaScriptLocalObj {  
  41.         public void showSource(String html) {  
  42.             Log.d("HTML", html);  
  43.         }  
  44.     }  
  45. }  


 

 

原文转载于(Braincol的博客园): http://www.cnblogs.com/hibraincol/archive/2011/10/26/2224866.html

 

关键之处在于:

view.loadUrl("javascript:window.local_obj.showSource('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");

运行,可以看到在showSource(String html)中打印了网页源码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值