> 电脑数码
adoid调用js方法(adoid调用js函数)
导语:Android 调用 JS
通过WebView的loadUrl()
通过WebView的evaluateJavascript()
方式1:通过WebView的loadUrl()
js
Android
这个时候就可以简单的吊起了,但是为什么loadUrl这么牛逼让我们看看源码吧
首先checkThread是个啥
可以看到我们的最佳实践是保证webview相关的操作要保持和webview的加载线程是一致的
这就来了个一个问题,我子线程去吊起js的代码我的webview会不会崩掉
话不多是让我们试一下
看图
正常使用只是爆出了一个异常,但是我们应该尽力避免这种事情,换句话说webview既然在主线程,webview的操作那也都应该发生在主线程中。
所以列出一个推荐的使用方式吧
注意
new Runnable
不是新开线程!
JS代码调用一定要在 onPageFinished()回调之后才能调用,否则不会调用。onPageFinished()属于WebViewClient类的方法,主要在页面加载结束时调用
方式2:通过WebView的evaluateJavascript()
吊起代码
版本号过低则发生如下
总结: 我么可以看到方法二这个限制是致命的,因为前端需要兼容ios与Android两个端的交互响应对他们来说越是普适性的越是需要的,版本过低直接不支持。。。太坑
本文内容由快快网络小海创作整理编辑!