您现在的位置:首页 --> JavaScript --> Android利用webView调用JavaScript
Android利用webView调用JavaScript
浏览:2012次 出处信息
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>,
即可实现调用
建议继续学习:
- 网页与原生App如何交互 (阅读:2906)
- 微信webview模拟器 (阅读:2995)
- [Android]用WebView访问证书有问题的SSL网页 (阅读:1836)
- WebView跨源攻击分析 (阅读:1590)
- ios webview 相关 (阅读:1279)
- WebView跨源攻击分析 (阅读:1117)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:如何在一个页面上让多个jQuery版本共存
文章信息
- 作者:CeeFee 来源: 阿飞博客
- 标签: webView
- 发布时间:2015-01-24 23:40:04
建议继续学习
近3天十大热文
- [56] Oracle MTS模式下 进程地址与会话信
- [56] IOS安全–浅谈关于IOS加固的几种方法
- [55] 如何拿下简短的域名
- [54] 图书馆的世界纪录
- [53] Go Reflect 性能
- [53] android 开发入门
- [50] 【社会化设计】自我(self)部分――欢迎区
- [50] 读书笔记-壹百度:百度十年千倍的29条法则
- [39] 程序员技术练级攻略
- [33] 视觉调整-设计师 vs. 逻辑