OR博客
使用安卓自带WebView,通过Java调用JavaScript传参踩坑记录
苗锦洲
创建于:2021-02-03 15:04:45
0
33
259
0
如题,安卓开发中通过Java调用有参数的JavaScript方法的时候需要注意字符串转义。

如题,安卓开发中通过 Java 调用有参数的 JavaScript 方法的时候需要注意字符串转义。

问题描述及解决方法

注意调用 loadUrl()方法时候传的字符串

使用 loadUrl("javascript:init(\"$param\")") 调用 js 方法时,要注意参数 param 两端需要有双引号 ",否则 webview 会报错,双引号也要注意要使用反斜杠 \ 转义

注意参数内容

参数内容里如果有引号、回车等特殊字符也要进行转义,目前只遇到这两个特殊字符有问题,遇到新问题后再修改下面的转义方法即可

private fun getEscapedString(input: String?): String { return if (input.isNullOrEmpty()) { "" } else { input.replace("\n", "\\n") .replace("\"", "\\\"") } }
评论
楼主暂时不想被别人评论哦~