android WebView(四)与html交互
2015-04-09 16:05
295 查看
WebView如何与html相互交互
很多时候WebView需要和html进行交互,要么需要通过Java代码控制页面活动,要么就是通过js触发Java代码,WebView提供了这种机制。首先来看一下我们需要交互的html代码吧:
<!DOCTYPE html> <html> <head> <title>MyHtml.html</title> </head> <body> <br> <br>大家晚上好 <br> <br>大家晚上好 <br> <br>大家晚上好 <br> <input type="button" value="测试" onclick="javascript:window.handler.show(document.body.innerHTML);" /> </body> </html>
简单的html代码,三行文字,一个按钮。document.body.innerHTML就是获取html中body节点中的内容。
然后我们把它加载进WebView中,并开启js:
webView.loadUrl("file:///android_asset/MyHtml.html"); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { Toast.makeText(WebViewActivity.this, "网页加载完成", 0).show(); view.loadUrl("javascript:window.handler.show(document.body.innerHTML);"); super.onPageFinished(view, url); } });
在上面的html中按钮的点击事件使用了一个借口:window.handler。要想使用这个借口我们需要先定义一下:
class Handler { public void show(String data) { new AlertDialog.Builder(WebViewActivity.this).setMessage(data).create().show(); } }
函数public void show(String data)就是这个借口提供的,上面的html和Java代码都有调用过。但是WebView怎么才能知道有这
么一个借口可以调用呢?答案如下:
webView.addJavascriptInterface(new Handler(), "handler");
这句话就是用来绑定接口的。
运行结果如下:
相关文章推荐
- android webview中如何实现html与手机本地数据的交互
- HTML---Android中webview和js之间的交互
- Android开发中webView与HTML+JS的交互
- HTML---android webview组件如何使用 Webview与js交互
- Android WebView使用全面解析(加载网络资源、本地HTML,JS交互)
- Android中WebView与HTML+Javascript的交互
- Android WebView使用全面解析(加载网络资源、本地HTML,JS交互)
- android 开发之webview解析html,js数据交互
- Android实现js及webview交互之在html页面中调用系统摄像头
- Android中WebView载入本地HTML代码并实现交互
- Android WebView加载本地html并实现Java与JS交互
- Android的webview加载本地html、assert内html和网络URL&&& JS与移动端webview的相互交互
- Android webview 和html 交互
- Android中WebView载入本地HTML代码并实现交互
- Android中WebView载入本地HTML代码并实现Java与JavaScript交互
- Android中WebView加载本地Html,与JavaScript与Android交互: 一
- 混合开发之webView加载html,android 和 html之间进行数据交互
- Android实现js及webview交互之在html页面中调用系统摄像头
- Android实现js及webview交互之在html页面中调用系统摄像头
- HTML---Android中webview和js之间的交互