从功能上讲,二者都可以异步执行JavaScript脚本,并通过回调方式或Promise方式返回脚本执行的结果。
区别上讲,runJavaScript返回脚本执行的结果只能是string,而runJavaScriptExt可以返回的类型支持JsMessageType,包括字符串、数组类型等。
runJavaScript参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| script | string | 是 | JavaScript脚本。 |
| callback | AsyncCallback<string> | 是 | 回调执行JavaScript脚本结果。JavaScript脚本若执行失败或无返回值时,返回null。 |
runJavaScriptExt参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| script | string | 是 | JavaScript脚本。 |
| callback | AsyncCallback<JsMessageExt> | 是 | 回调执行JavaScript脚本结果。 |
从调用时间上讲,二者都需要在loadUrl完成后,比如onPageEnd中调用。