だから私はWebviewで(ユーザートークンを設定する)Cookieを設定しようとしていますが、ページが更新され続けるというこの問題があります。コードは次のとおりです。
InAppWebViewController _webViewController;
final expiresDate = DateTime.now().add(Duration(days: 3)).millisecondsSinceEpoch;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: DashboardPageTitlesAtom(
title: widget.title,
leading: IconButton(
icon: Icon(Icons.arrow_back),
onPressed: () {
Navigator.pop(context);
},
),
trailing: IconButton(
icon: Icon(CupertinoIcons.refresh),
onPressed: _webViewController == null ? null : () => _webViewController.reload(),
),
),
body: Column(
children: [
Divider(
thickness: 1,
height: 1,
),
Expanded(
child: InAppWebView(
initialOptions: InAppWebViewGroupOptions(
crossPlatform: InAppWebViewOptions(
javaScriptEnabled: true,
clearCache: false,
),
),
onWebViewCreated: (InAppWebViewController controller) async {
_webViewController = controller;
},
onLoadStop: (InAppWebViewController controller, url) async {
try {
final token = await getToken();
await _webViewController.evaluateJavascript(
source:
'document.cookie = "accessToken=${token}"; secure=true; httpOnly=false; sameSite=None',
);
await _webViewController.loadUrl(url: widget.url);
} catch (e) {
print(e.toString());
}
}),
),
],
),
);
}
問題は、Cookie を設定する唯一の方法は、javascript を評価した後にページを更新することであり、ページの更新が停止しないことです。ありがとうございました。