2

我对 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);
  },
)

大多数源代码已被保留,以确保它尽可能短。非常感谢您提前。我真的很感激有办法解决这个问题。

4

0 回答 0