- importandroid.app.Activity;
- importandroid.graphics.Bitmap;
- importandroid.os.Bundle;
- importandroid.util.Log;
- importandroid.webkit.WebView;
- importandroid.webkit.WebViewClient;
- publicclassHtmlSourceextendsActivity{
- privateWebViewwebView;
- /**Calledwhentheactivityisfirstcreated.*/
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- webView=(WebView)findViewById(R.id.webview);
- webView.getSettings().setJavaScriptEnabled(true);
- webView.addJavascriptInterface(newInJavaScriptLocalObj(),"local_obj");
- webView.setWebViewClient(newMyWebViewClient());
- webView.loadUrl("http://www.cnblogs.com/hibraincol/");
- }
- finalclassMyWebViewClientextendsWebViewClient{
- publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){
- view.loadUrl(url);
- returntrue;
- }
- publicvoidonPageStarted(WebViewview,Stringurl,Bitmapfavicon){
- Log.d("WebView","onPageStarted");
- super.onPageStarted(view,url,favicon);
- }
- publicvoidonPageFinished(WebViewview,Stringurl){
- Log.d("WebView","onPageFinished");
- view.loadUrl("javascript:window.local_obj.showSource('<head>'+"+
- "document.getElementsByTagName('html')[0].innerHTML+'</head>');");
- super.onPageFinished(view,url);
- }
- }
- finalclassInJavaScriptLocalObj{
- publicvoidshowSource(Stringhtml){
- Log.d("HTML",html);
- }
- }
- }
原文转载于(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)中打印了网页源码。
本文详细介绍了如何使用Android WebView加载URL,并通过JavaScript接口在Java中获取网页源码的具体步骤,包括设置WebView属性、加载URL、使用JavaScript方法打印源码。
341

被折叠的 条评论
为什么被折叠?



