iOS Flutter webview cookie 会话在导航太快时丢失



iOS中似乎有一个错误,在Android中没有发生,当从一个Web视图导航到另一个Web视图时,共享多个Web视图会话数据似乎丢失了。我有 3 个选项卡,每个选项卡都是颤振网络视图,在 android 上,当我登录到其中一个网络视图时,我可以在网络视图之间快速导航而不会丢失会话 cookie。在iOS上,只有当我从一个导航到另一个会话的速度太快时,会话才会丢失,否则缓慢导航时没有问题。

import 'package:webview_flutter/webview_flutter.dart';

class LatestView extends StatelessWidget {
final ConnectivityResult connectivityResult;
LatestView({this.connectivityResult}) {
print(connectivityResult);
}
final Set<Factory> gestureRecognizer = [Factory(() => EagerGestureRecognizer(),)].toSet();
final HelperService _helperService = locator<HelperService>();
_startsLoading(String str) {
print(str);
}
final Completer<WebViewController> _latestWebViewController =
new Completer<WebViewController>();

bool isLoading = true;

@override
Widget build(BuildContext context) {
return Container(
child: (connectivityResult == ConnectivityResult.none)
? Align(
alignment: Alignment.topCenter,
child: Image(
fit: BoxFit.contain,
image: AssetImage('assets/ic_no_internet.png'),
),
)
: WebView(
onPageStarted: _startsLoading('Loading'),
key: _helperService.gimmeLatestKey,
initialUrl: 'https://mywebsite.com',
javascriptMode: JavascriptMode.unrestricted,
gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>[
new Factory<OneSequenceGestureRecognizer>(
() => new EagerGestureRecognizer(),
),
].toSet(),
onPageFinished: _startsLoading('Finished'),
),
);

}
}

>webview_flutter从那以后有所改善。我建议针对您的用例再次尝试。该插件现在支持通过 CookieManager 设置和恢复 cookie。有关更多详细信息,请参阅此线程。

最新更新