1.android中利用webview调用网页上的js代码。
Android中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true,,然后通过loadUrl就可以直接进行调用,如下所示:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("javascript:test()");
2.网页上调用android中java代码的方法
在网页中调用java代码,需要在webview控件中添加javascriptInterface。如下所示:
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(Test.this, "测试调用java", Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
在网页中,只需要像调用js方法一样,进行调用就可以。
<div id='b'><a onclick="window.demo.clickOnAndroid()">b.c</a></div>
3.Java代码调用js并传参
首先需要带参数的js函数,如function test(str),然后只需在调用js时传入参数即可,如下所示:
mWebView.loadUrl("javascript:test('aa')");
4.Js中调用java函数并传参
首先一样需要带参数的函数形式,但需注意此处的参数需要final类型,即得到以后不可修改,如果需要修改其中的值,可以先设置中间变量,然后进行修改。如下所示:
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid(final int i) {
mHandler.post(new Runnable() {
public void run() {
int j = i;
j++;
Toast.makeText(Test.this, "测试调用java" + String.valueOf(j), Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
然后在html页面中,利用如下代码<div id='b'><a onclick="window.demo.clickOnAndroid(2)">b.c</a></div>,即可实现调用
参考:http://bbscom.blog.163.com/blog/static/149436828201193113356574/
注意:在html页面中,不支持css样式的伪类事件(即已被注释的代码)。
例如:
.zhantin01{width:1000px; height:492px; margin:0 auto;background:url(images/zt01.jpg) no-repeat 0 0; position:relative}
.zhantin01 a,.zhantin01 div{opacity:0.5; background-color:#f00; position:absolute;left:0;top:310px;width:40px; height:50px;}
.zhantin01 .zg01{width:100px; height:100px;}
/* .zhantin01 a:link,.zhantin01 a:visited{opacity:0;} */
/* .zhantin01 a:hover{opacity:0.5;} */
/* .zhantin01 a.point:link,.zhantin01 a.point:visited{opacity:0.5;} */
如果这样写,在html页面中将不能调用Android页面的java代码。
分享到:
相关推荐
android中Webview与javascript的交互(互相调用)android中Webview与javascript的交互(互相调用)
一个简单的android中webview与js交互的例子
Android 通过webview和js的交互
android不使用webview与js交互
Android中webview使用js与java交互
android中Webview与javascript的交互,Android中的点击按钮调用js方法,js点击按钮调用Android中的方法
A simpler, extendable bidirectional communication Frame between Android WebView and Javascript Features supports parsing and callback for JS primitive types Modular management support System WebView ...
Android中WebView的JS交互的几种方式
android 4.4 之后的版本,由于Android安全机制的升级,js注入漏洞解决方案,导致之前JS和Android交互的方法失效了,该demo很好的解决了最新版本Android和js之间互相调用的问题,支持最新的Android版本调用,包括华为...
Android笔记webview与js交互实例,详细介绍使用loadUrl(),evaluateJavascript(),addJavascriptInterface(),等方式实现交互。
Android 通过 WebView 与 js 交互实现图文混排, 解决图片适配屏幕问题与查看大图功能
这是这个demo的对应的博客,上面有demo的效果图以及详细说明http://blog.csdn.net/advance_djj/article/details/78989139
一个简单的android中webview与js交互的例子
Android中WebView与HTML+Javascript的交互 Android中WebView与HTML+Javascript的交互
x5webview和js交互的三方库
android webview与js交互简单demo
因为开发中经常用到android和WebView混合交互开发来降低开发时间。 所以加了一点类java反射机制工具小框架来方便交互 反射这个类lxz.utils.android.webview.plugins.ToastScript 地址:...
Andorid webview容器和Html里的js的交互通讯,轻松使用webview快捷开发
Android webview与js交互