关于webview与JS交互

关于Webview与JS交互取值的问题

废话不多说,首先webview与JS交互必须要有webview对JS的支持

webview = (WebView) findViewById(R.id.webview);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);//webview支持JS


然后在HTML页面上加入JS代码

function androidGetInfo() {
          return  window.demo.getInfo(goodsid, $("#goods_num").val());//调用android 中的getInfo方法。
        }

这其中getinfo()方法里边的参数,就是JS要返回的参数


然后在android中加入

webview.addJavascriptInterface(new Object(){
			@JavascriptInterface//注意这一点很重要,一定要在交互方法上加入这个注解,并导入包(在API大于17的情况下),不然JS就调用不到android中的方法
			public void getInfo(String _goodsid,String _value){
			  goodsid = _goodsid;
			  value = _value;
			}
		}, "demo");


最后要在去返回值的地方执行交互

webview.loadUrl("javascript:androidGetInfo()");


到这里JS已经完成,其中"demo"是android方法和JS绑定的对象,getinfo是交互的方法名,androidGetInfo是Android执行JS中的方法名,可以根据需要自行修改~


好好学习,天天向上,大家共同学习进步




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值