我正在开发一个 flutter 应用程序,它有一个 web 视图,我在其中调用了 runJavaScriptReturningResult 函数来返回一个简单查询的结果,如下所示。
Future<void> _injectJavascript(BuildContext context) async {
final ret = await controller.runJavaScriptReturningResult(
'document.getElementsByClassName("status-col")[1].childNodes[0].childNodes[0].innerHTML + ": " + document.getElementsByClassName("status-col")[1].childNodes[0].childNodes[0].title');
FFAppState().paymenturlappstate = ret.toString();
return;
}
问题是这返回一个对象,我不知道如何解析它。它不可索引,并且如上所示转换为字符串只能告诉我该对象的类。我在其他地方没有找到类似的东西,并且文档也没有给我任何继续的信息。有什么办法让我得到这个对象返回的字符串吗?
您可以使用 Dart 的类型转换从该对象中提取字符串值
Future<void> _injectJavascript(BuildContext context) async {
final result = await controller.runJavaScriptReturningResult(
'document.getElementsByClassName("status-col")[1].childNodes[0].childNodes[0].innerHTML + ": " + document.getElementsByClassName("status-col")[1].childNodes[0].childNodes[0].title');
if (result != null && result is String) {
FFAppState().paymenturlappstate = result;
} else {
}
return;
}