欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android webview获取html代码和根据id获取value实例

程序员文章站 2022-06-04 18:36:58
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实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。