您现在的位置:首页 --> JavaScript --> Android利用webView调用JavaScript
Android利用webView调用JavaScript
浏览:2127次 出处信息
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模拟器 (阅读:3149)
- 网页与原生App如何交互 (阅读:2968)
- [Android]用WebView访问证书有问题的SSL网页 (阅读:1899)
- WebView跨源攻击分析 (阅读:1767)
- ios webview 相关 (阅读:1411)
- WebView跨源攻击分析 (阅读:1301)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:如何在一个页面上让多个jQuery版本共存
文章信息
- 作者:CeeFee 来源: 阿飞博客
- 标签: webView
- 发布时间:2015-01-24 23:40:04
建议继续学习
近3天十大热文
-
[60] find命令的一点注意事项
-
[55] memory prefetch浅析
-
[38] 读书笔记-壹百度:百度十年千倍的29条法则
-
[30] Oracle bbed工具的编译
-
[29] 基本排序算法的PHP实现
-
[29] 卡诺模型―设计品质与设计价值的思考
-
[28] 小屏幕移动设备网页设计注意事项
-
[23] 8大实用又重要Mac使用技巧
-
[22] 程序员技术练级攻略
-
[22] 杨建:网站加速--Cache为王篇