美文网首页
android解决植入JS后调用报错

android解决植入JS后调用报错

作者: 東玖零 | 来源:发表于2023-05-11 16:38 被阅读0次

背景:很久之前我们集成一个功能网页,但需要登录,可是我们的App已经登录,再要求用户登录就不合理,那我们找到登录JS方法,当网页加载完成时,带上用户名和密码执行这个js方法,自动登录的功能实现了,过了很久又需要在页面加载完成时,植入一定功能的js代码。

植入之后,网页调用植入的js方法一直不成功,报错如下:

Cannot read properties of undefined (reading 'getABC')

其实安卓的代码也很简单

@Override
public void onPageFinished(WebView view, String url) {
   super.onPageFinished(view, url);
   Log.d("WebView","访问网页结束");
   view.load("window.abc = {getABC(){alert('测试')}}")
}

网页上有个测试按钮,代码也很简单

func testClick() {
   window.abc.getABC();
}

我们在webview的初始化时一顿操作,可还是报错,最后发现加载js的时候少了javaScript前缀。

正确加载js方法如下:

view.load("javaScript:window.abc = {getABC(){alert('测试')}}")

郁闷了一两天,真是阴沟里翻船~

相关文章

网友评论

      本文标题:android解决植入JS后调用报错

      本文链接:https://www.haomeiwen.com/subject/fnmssdtx.html