h5页面要从cookie里面取数据,所以需要在flutter webview的cookie里面塞一些数据,设置的数据多达十几条;按照网上查的使用方式来设置,通过fiddler抓包发现,只能生效一条,来来回回试了很多次都只有一条,心态崩了
后来看到cookie设置数据也是类似键值对里面套键值对,灵机一动,变换下后就成功了,记录下正确的写法吧
webview_flutter: ^0.3.22+1
WebViewController _controller;
onWebViewCreated: (WebViewController wvc) {
_controller = wvc;
}
onPageFinished: (String value) {
_controller.evaluateJavascript( 'document.cookie = "SESSIONID=612bc4822b6996d6f335a963c20eb541fba72985; path=/"')
}
setSessionID() async {
String sessionID = await LocalStorage.get("sessionID");
if (Platform.isIOS) {
_controller.evaluateJavascript("document.cookie = 'sessionID=${sessionID}'").then<String>((res) {
print("webViewController.evaluateJavascript========>${res}");
_onListCookies(_controller, context);
});
} else {
_controller.evaluateJavascript('document.cookie = "sessionID=${sessionID};"').then<String>((res) {
print("webViewController.evaluateJavascript========>${res}");
_onListCookies(_controller, context);
});
}
}
///webview控制器
WebViewController _controller;
String _url = "写入你的链接";
WebView(
initialUrl: _url,
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (controller) {
_controller = controller;
},
onPageFinished: (url) {
//页面加载结束
String cookie =
"document.cookie = 'name=IAmDaShuaiBi';document.cookie = 'id=233'";
_controller.evaluateJavascript(cookie);
},
userAgent: "test;app/1.0.0",
)
///webview控制器
WebViewController _controller;
String _url = "写入你的链接";
WebView(
initialUrl: _url,
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (controller) {
_controller = controller;
},
onPageFinished: (url) {
//页面加载结束
String cookie = '''
document.cookie = 'nameOne=IAmDaShuaiBi';
document.cookie = 'idOne=233';
document.cookie = 'nameTwo=IAmDaShuaiBi';
document.cookie = 'idTwo=233';
document.cookie = 'nameThree=IAmDaShuaiBi';
document.cookie = 'idThree=233';
''';
_controller.evaluateJavascript(cookie);
},
userAgent: "test;app/1.0.0",
)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。