我对 webview 颤振有疑问。我正在尝试使用 Flutter webview 中的一些支付平台进行支付。支付平台使用另一个选项卡进行 OTP 验证,但 webview 插件此时卡住了。
//flutter_webview_plugin
WebviewScaffold(
url: "${widget.transactionUrl}",
withZoom: true,
withLocalStorage: true,
hidden: true,
withJavascript: true,
scrollBar: true,
supportMultipleWindows: true,
ignoreSSLErrors: true,
withOverviewMode: true,
appCacheEnabled: true,
debuggingEnabled: true
)
以上是用flutter_webview_plugin v0.3.11实现的。supportMultipleWindows设置为true时,从不显示该新标签,因此无法进行OTP验证,设置为false时,确实在同一页面上显示该OTP验证页面,但进入OTP并提交后,无法返回上一个页面以完成事务,并将 OTP 的 json 响应输出到视图。这是官方 webview 插件 webview_flutter v0.3.20 的确切问题,尽管这将始终在同一页面上打开选项卡。
//webview_flutter
WebView(
gestureNavigationEnabled: true,
onPageStarted: (String url) {},
onPageFinished: _handleLoad,
javascriptMode: JavascriptMode.unrestricted,
initialUrl: "${widget.transactionUrl}",
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
)
大多数源代码已被保留,以确保它尽可能短。非常感谢您提前。我真的很感激有办法解决这个问题。