Android 从WebView从我自己的网页获取html元素?
我有一个网络视图,显示来自我自己服务器的页面。是否可以添加一个javascript方法,允许我的android应用程序从webview读取页面元素?比如:Android 从WebView从我自己的网页获取html元素?,android,Android,我有一个网络视图,显示来自我自己服务器的页面。是否可以添加一个javascript方法,允许我的android应用程序从webview读取页面元素?比如: // mypage.html <html> <p id='abc'>some data</p> </html> // my android app WebView wv = ..; String data = wv.getPageElementById('abc'); //mypage
// mypage.html
<html>
<p id='abc'>some data</p>
</html>
// my android app
WebView wv = ..;
String data = wv.getPageElementById('abc');
//mypage.html
一些数据
//我的android应用程序
网络视图wv=。。;
字符串数据=wv.getPageElementById('abc');
有那样的事吗?我拥有该页面,因此我可以修改它,但我需要使其正常工作
谢谢好的,我就是这样做的:
<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);
}
}