Как я могу закрыть WebView, как только сайт будет перенаправлен - PullRequest
0 голосов
/ 11 июля 2019

Мне нужно закрыть свой WebViewScaffold, включенный в flutter_webview_plugin, как только текущая страница начнет перенаправлять вас.

Мой текущий Aproach - иметь Listener onUrlChanged, предоставляемый плагином, и как только URL-адрес изменится, я закрываю его.

@override
  void initState() {
    super.initState();
    webview.onUrlChanged.listen((str) {
      if (str.contains('google.com')) {
        Navigator.pop(_webViewContext);
      }
    });
  }

BuildContext _webViewContext;
  final webview = FlutterWebviewPlugin();

@override
  Widget build(BuildContext context) {
    return Builder(
      builder: (BuildContext context) {
        _webViewContext = context;
         return WebviewScaffold(
           allowFileURLs: true,
           withJavascript: true,
           withLocalStorage: true,
           withLocalUrl: true,
           appBar: AppBar(title: Text('Payment')),
           url: 'www.example.com',
         );
       }
       }
    );
  }

Но это создает некоторую задержку в работеНовый сайт отображается за 1 или 2 секунды до того, как он на самом деле вызывает Слушатель и закрывает WebView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...