您现在的位置:首页 --> JavaScript --> Android利用webView调用JavaScript
Android利用webView调用JavaScript
浏览:2513次 出处信息
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>,
即可实现调用
建议继续学习:
- 微信webview模拟器 (阅读:3447)
- 网页与原生App如何交互 (阅读:3385)
- [Android]用WebView访问证书有问题的SSL网页 (阅读:2416)
- WebView跨源攻击分析 (阅读:2203)
- ios webview 相关 (阅读:1735)
- WebView跨源攻击分析 (阅读:1718)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:如何在一个页面上让多个jQuery版本共存
文章信息
- 作者:CeeFee 来源: 阿飞博客
- 标签: webView
- 发布时间:2015-01-24 23:40:04
建议继续学习
近3天十大热文
-
[930] WordPress插件开发 -- 在插件使用 -
[130] 解决 nginx 反向代理网页首尾出现神秘字 -
[51] 如何保证一个程序在单台服务器上只有唯一实例( -
[51] 海量小文件存储 -
[50] 整理了一份招PHP高级工程师的面试题 -
[49] CloudSMS:免费匿名的云短信 -
[48] 全站换域名时利用nginx和javascri -
[48] 用 Jquery 模拟 select -
[47] Innodb分表太多或者表分区太多,会导致内 -
[46] ps 命令常见用法
