android webview获取html代码和根据id获取value实例
程序员文章站
2023-08-25 23:15:40
1 前言最近做一个项目,需要webview获取网页中input的内容,把知识整理一下,做个记录,也希望对大家有所帮助。2 获取html内容2.1 初始化webviewwebview.getsettin...
1 前言
最近做一个项目,需要webview获取网页中input的内容,把知识整理一下,做个记录,也希望对大家有所帮助。
2 获取html内容
2.1 初始化webview
webview.getsettings().setjavascriptenabled(true); webview.addjavascriptinterface(new injavascriptlocalobj(), "java_obj"); /** *注意,@javascriptinterface方法的注解是一定要加的, *很多同学因为没加所以没有效果 */ final class injavascriptlocalobj { @javascriptinterface public void getsource(string html) { log.d("html=", html); } }
2.2 获取html代码
view.loadurl("javascript:window.java_obj.getsource('<head>'+" + "document.getelementsbytagname('html')[0].innerhtml+'</head>');");
当执行这句话的时候,会回调injavascriptlocalobj 中的getsource方法。
3 根据id获取value
可能会有这样一个需求:在网页的文本框中输入内容后,要在android中获取文本框的输入内容。那么这个文本框需要设置一个id,我们用javascript代码来获取value。代码如下:
3.1 初始化webview
这一块的代码和上面是一样的
webview.getsettings().setjavascriptenabled(true); webview.addjavascriptinterface(new injavascriptlocalobj(), "local_obj"); public final class injavascriptlocalobj { private string value = ""; public string getvalue(){ return this.value; } @javascriptinterface public void getvaluebyid(string value) { log.d("html", value); this.value = value; } }
3.2 根据id获取value
detail_web.loadurl("javascript:window.local_obj.getvaluebyid(document.getelementbyid('acount_comment').value);");
4 结尾
好了就讲到这里吧,以上这篇android webview获取html代码和根据id获取value实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。