获取WebView加载HTML时网页中的内容
main.xml如下:
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 - xmlns:tools="http://schemas.android.com/tools"
 - android:layout_width="match_parent"
 - android:layout_height="match_parent"
 - tools:context=".MainActivity" >
 - <WebView
 - android:id="@+id/webView"
 - android:layout_width="fill_parent"
 - android:layout_height="fill_parent"
 - android:layout_centerHorizontal="true"
 - android:layout_centerVertical="true"
 - />
 - </RelativeLayout>
 
MainActivity如下:
- package com.example.testgetwebviewcontent;
 - import android.app.Activity;
 - import android.graphics.Bitmap;
 - import android.os.Bundle;
 - import android.webkit.WebView;
 - import android.webkit.WebViewClient;
 - /**
 - * Dmeo说明:
 - * 当WebView加载网页时获取该网页中的内容.
 - * 参考资料:
 - * http://www.maxters.net/2012/02/android-webview-get-html-source/
 - */
 - public class MainActivity extends Activity {
 - private WebView mWebView;
 - @Override
 - protected void onCreate(Bundle savedInstanceState) {
 - super.onCreate(savedInstanceState);
 - setContentView(R.layout.main);
 - init();
 - }
 - private void init(){
 - mWebView=(WebView) findViewById(R.id.webView);
 - mWebView.getSettings().setJavaScriptEnabled(true);
 - mWebView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj");
 - mWebView.getSettings().setSupportZoom(true);
 - mWebView.getSettings().setDomStorageEnabled(true);
 - mWebView.getSettings().setPluginsEnabled(true);
 - mWebView.requestFocus();
 - mWebView.getSettings().setUseWideViewPort(true);
 - mWebView.getSettings().setLoadWithOverviewMode(true);
 - mWebView.getSettings().setSupportZoom(true);
 - mWebView.getSettings().setBuiltInZoomControls(true);
 - mWebView.loadUrl("http://www.baidu.com");
 - mWebView.setWebViewClient(new WebViewClient() {
 - @Override
 - public void onPageStarted(WebView view, String url, Bitmap favicon) {
 - super.onPageStarted(view, url, favicon);
 - }
 - @Override
 - public boolean shouldOverrideUrlLoading(WebView view, String url) {
 - view.loadUrl(url);
 - return true;
 - }
 - @Override
 - public void onPageFinished(WebView view, String url) {
 - super.onPageFinished(view, url);
 - view.loadUrl("javascript:window.local_obj.showSource('<head>'+"
 - + "document.getElementsByTagName('html')[0].innerHTML+'</head>');");
 - }
 - @Override
 - public void onReceivedError(WebView view, int errorCode,
 - String description, String failingUrl) {
 - super.onReceivedError(view, errorCode, description, failingUrl);
 - }
 - });
 - }
 - final class InJavaScriptLocalObj {
 - public void showSource(String html) {
 - System.out.println("====>html="+html);
 - }
 - }
 - }
 
获取WebView加载HTML时网页中的内容的更多相关文章
- Android中通过Java获取Webview加载内容
		
有时候我们需要在加载webview时,获取加载完成的内容,当然,WebView也是有可能包含javascript.通过以下操作,我们是可以获取到WebView加载的内容. 1.自定义一个内部类,获取W ...
 - 获取WebView加载的网页内容并进行动态修改
		
http://www.jianshu.com/p/3f207a8e32cb [Android]WebView读取本地图片 http://www.cnblogs.com/kimmy/p/4769788. ...
 - Android项目实战(五十六):获取WebView加载的url的请求错误码
		
例如需求,我有一个WebView 加载一个url, 该url对应的网页本身自带下拉刷新 ,但是网页本身会有出现400 500 等异常请求错误码 这时候网页加载失败,页面本身的下拉是无法使用的,要求重新 ...
 - WebView加载html实现网页上传本地文件(图片,拍照,语音等)
		
前言: 这里有两个方案,第一个使用Andorid客户端和JavaScript互相调用方法来实现,这种方法极力不推荐,它会增加服务端和客户端的开发成本. 第二种就是继承WebViewChromeClie ...
 - iOS中webView加载URL需要处理特殊字符
		
今天在项目中遇到webView加载URL时,因为URL中有特殊字符,导致页面无法加载,而且在- (BOOL)webView:(UIWebView )webView shouldStartLoadWit ...
 - Android 编程下 WebView 加载一个网页如何得到网页的 Cookie 值
		
http://www.cnblogs.com/sunzn/archive/2013/04/03/2998113.html mWebView.setWebViewClient(new MyWebView ...
 - WebView加载失败或网络异常时,替换WebView的错误界面;
		
WebView在加载失败时会显示一个失败原因的界面,各个手机显示的界面还都不一样,部分手机还会把Url显示出来:我们要做的就是统一加载失败的界面: 大概思路:在WebView这个控件上面再覆盖一个Vi ...
 - Android WebView 加载富文本内容
		
WebView加载数据的方式有两种: 1. webView.loadUrl(data);//加载url 2. webView.loadDataWithBaseURL(null,data, " ...
 - Android中Http加载如何得到Cookie和 WebView 加载网页如何得到的Cookie
		
最近做项目在手机端登录Http请求和 WebView 记载登录获取Cookie信息,可查看Cookie信息. 如图: Http请求获取Cookie信息: public static String re ...
 
随机推荐
- 第1章 你真的了解C#吗?
			
什么是C#? C#是由微软公司开发的一种面向对象且运行于.Net Framework之上的高级程序设计语言,发布于2000年6月. 什么是.Net Framework 我们可以这样去理解.Net Fr ...
 - MySQL安装与测试
			
工作室老师要求我们把MySQL装出来 今天折腾了下,本来不难的,不知道为什么用最新5.6.24的msi安装包,安装的时候选完路径后就没有后续了..蛋疼的我试了好几次,用cmd命令测试一直是 2003- ...
 - mysql source命令导入sql文件效率分析和索引整理
			
Query OK, 24918 rows affected (0.90 sec)Records: 24918 Duplicates: 0 Warnings: 0 Query OK, 24923 r ...
 - Asp.Net WebApi Action命名中已‘Get’开头问题
			
ApiController 中的Action 命名已‘Get’开头,Post方法提交失败 场景: 1.action命名使用Get开头 /// <summary> /// 获取用户的未读消息 ...
 - AppCanCSS背景图片的属性
			
最近在用AppCan框架技术做跨平台移动应用开发,碰到界面布局设计中图片平铺.拉伸效果. 我们用到的是CSS 3中Background-size属性. 网上查了下这个属性,小记下: 取值: backg ...
 - HDU_2068_RPG错排
			
Problem Description 今年暑假杭电ACM集训队第一次组成女生队,其中有一队叫RPG,但做为集训队成员之一的野骆驼竟然不知道RPG三个人具体是谁谁.RPG给他机会让他猜猜,第一次猜:R ...
 - Cacti添加Advance Ping监控模板
			
Cacti脚本 1.Advance Ping 脚本及模板 注:要使用此模板,编译PHP时必须加上--enable-sockets选项来支持套接字. 1).功能:此模板用来监控一个TCP/U ...
 - zepto源码研究 - zepto.js - 6(模板方法)
			
width height 模板方法 读写width/height ['width', 'height'].forEach(function(dimension){ //将width,hegih ...
 - react-redux源码解析
			
有理解不对的地方,欢迎大家指正!!! react为什么需要redux辅助???react是view层的单向数据流框架,数据需要一层一层往子组件传递(子组件并不会自动继承).子组件需要操作父组件的数据时 ...
 - geotools导入shp文件到Oracle数据库时表名带下划线的问题解决
			
问题: 最近在做利用geotools导入shp文件到Oracle表中,发现一个问题Oracle表名带下划线时导入失败,问题代码行: dsOracle.getFeatureWriterAppend(or ...