从WebView从我自己的网页中获取html元素? [英] Get html element from my own web page from a WebView?

查看:56
本文介绍了从WebView从我自己的网页中获取html元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Webview显示我自己服务器上的页面.是否可以添加允许我的android应用从webview读取页面元素的javascript方法?像这样:

I have a webview displaying a page from my own server. Is it possible to add a javascript method that would allow my android app to read out a page element from the webview? Something like:

// mypage.html
<html>
   <p id='abc'>some data</p>
</html>

// my android app
WebView wv = ..;
String data = wv.getPageElementById('abc');

这样的事吗?我拥有该页面,因此可以对其进行修改,但是我需要使其正常工作,

Anything like that? I own the page so I can modify it however I need to make it work,

谢谢

推荐答案

好,这是我的方法:

<html>

  <head> 
    <script type="text/javascript"> 

      function onBodyLoad() {
        var element = document.getElementById("abc");
        window.javascriptAccessor.getYerData(element.innerHTML); 
      }

    </script> 
  </head> 

  <body onload="onBodyLoad()">
    <div id="abc">data</p>
  </body>
</html>

然后我的活动:

WebView webview = (WebView)findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.addJavascriptInterface(new JavascriptAccessor(), "javascriptAccessor");
webview.setWebViewClient(new WebViewClient() {}); // wouldn't work without this!
webview.loadUrl(url);

private class JavascriptAccessor {
    @SuppressWarnings("unused")
    public void getYerData(String data) {
        Log.v(TAG, data);
    }
}

是的!

这篇关于从WebView从我自己的网页中获取html元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆