webview和js之间的交互

本文详细介绍了Android中WebView与JavaScript的交互方式,包括JS如何调用Android提供的接口以及Android如何调用JS方法,并讨论了常见问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

webview和js之间的交互

参考地址:http://www.runoob.com/w3cnote/android-tutorial-webview.html

http://www.cnblogs.com/zgz345/p/3768174.html

http://www.cnblogs.com/renhui/p/5893099.html

1、js调用andriod开放的方法

在开放的方法前面加上  @JavascriptInterface

首先,我们定义一个类,用于将数据暴露出来,JS通过该类暴露的方法(Public)来调用Android!
接着,我们在WebView所在页面Activity,使用下述代码:

webview.getSettings().setJavaScriptEnabled(true);
webview.addJavascriptInterface(object,"name");

然后js或者html中调用name.xxx调用对象里的暴露的方法:
比如:

 < input type="button" value="Toast提示" onclick="name.showToast('呵呵');"/>

另外,setJavaScriptEnabled是在Android 4.4以前的系统才有效!!!

2、andriod调用js方法

webView.loadUrl("javascript:js方法名('" + 参数 + "')");

不知道为什么js方法放在后面就不能调用,放在前面就解决了,有知道的吗?欢迎交流

出现问题:Uncaught ReferenceError: functionName is not defined,网上说是:网页的js代码没有加载,就调用了js方法。解决方法是在网页加载完成之后调用js方法或者限制用户在页面加载完成之前不允许调用JS的事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值