android原生webview,Android 原生与WebView JS的交互

webview调用java方法

1.允许webview加载js :

webView.getSettings().setJavaScriptEnabled(true);

2.编写js接口类

import android.util.Log;

import android.webkit.JavascriptInterface;

public class TestJavascriptInterface {

@JavascriptInterface

public void testMethod(String value) {

Log.e("JavascriptInterface", "come in testMthod");

}

}

3.给webview添加js接口:

webView.addJavascriptInterface(new TestJavascriptInterface(),"testObj");

android中调用js方法

webView.loadUrl("javascript:if(window.testJSMethod){window.testJSMethod('this is my test content')}")

chrome的调试

1.webView.setWebContentsDebuggingEnabled(true);

2.通过chrome浏览器进行调试,在地址栏输入chrome://inspect/#devices

js交互中常见的错误

1.在Android中声明的JavascriptInterface接口的的方法中throw Exception,本地并不会捕捉到报错信息,网页端会出错。

2.web端不进行对象是否存在的判断

3.传递的参数类型不一致(尤其是数组和对象)

4.字符串类型参数未空时传递undefined

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值