Android用Webview调用js带参数的方法的时候注意事项

webview调用js方法的时候传参数的时候直接拼接上本地参数是不行的
ps:这里只用调用的方法有参数但没有返回值的做例子

假如加载的html的代码如下

String ss = 
"<!DOCTYPE html>\n" +
 "<html>\n" +
 "<head>\n" +
 "<title></title>\n" +
 "<style>\n" +
 "img {display: block;max-width: 100%!important;height: auto !important;margin: 10px auto;}\n" +
 "</style>\n" +
 "<script type=\"text/javascript\">\n"+
 "function changeBgColor(color) {\n" +
 "    document.body.style.backgroundColor = color;\n" +
 "}\n"+
 "function changeFontSize(fontSize) {\n" +
 "\t document.body.style.fontSize = fontSize + 'px';\n" +
 "}\n"+
 "</script>\n"+
 "</head>\n" +
 "<body>" + "这里放点你们网页要加载的内容" +
 "</body>\n" +
 "</html>";
webView.loadDataWithBaseURL(null, ss, "text/html", "UTF-8", null);

如是调用不带参数的方法,我们直接调用就可以了

webView.loadUrl("javascript:changeFontSize()");

功能需要参数的时候,直接拼接是不生效的如下(x)

String params = "需要的参数";
webView.loadUrl("javascript:changeFontSize("+params+")");

需要像java中类似字符类型用 "包裹一下才能生效的如下(✔️️)

String params = "需要的参数";
 webView.loadUrl("javascript:changeFontSize('" + params + "')");

最后,调用js方法之前别忘了启用

 webSettings.setJavaScriptEnabled(true); 
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值