关闭

Android:在WebView中获取网页源码

标签: androidjavascripthtmlurlstring
1746人阅读 评论(1) 收藏 举报
分类:
  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

猜你在找
深度学习基础与TensorFlow实践
【在线峰会】前端开发重点难点技术剖析与创新实践
【在线峰会】一天掌握物联网全栈开发之道
【在线峰会】如何高质高效的进行Android技术开发
机器学习40天精英计划
Python数据挖掘与分析速成班
微信小程序开发实战
JFinal极速开发企业实战
备战2017软考 系统集成项目管理工程师 学习套餐
Python大型网络爬虫项目开发实战(全套)
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:724471次
    • 积分:9017
    • 等级:
    • 排名:第1934名
    • 原创:111篇
    • 转载:376篇
    • 译文:0篇
    • 评论:111条
    文章分类
    最新评论