我们的客户要求我们最近从WebView切换到WKWebView。他们的应用程序使用本地登录,这是通过2 POST调用完成的,并返回各种授权cookie,稍后在整个应用程序中使用每个HTTP/AJAX调用。WKWebView AJAX要求丢失cookies
使用WebView,它可以像魅力一样工作,无需实现一行自定义代码。用户登录后,cookie默认存储到cookie存储,并且WebView始终将它们从那里拿走并使用它们,因为HTTPCookieStorage在NSURLSession和WebView之间共享。
这是一个WKWebView的全新故事。一旦我们将WebView切换到WKWebView,我们看到授权不起作用。这是由于在WKWebView中丢失了一些cookie。我们现在从NSURLSession响应中存储cookie并通过向HTTP请求添加“Cookie”头来手动将它们附加到WKWebView。
我们能够以这种方式获得HTTP调用的授权,但现在我们看到了一个新问题。不知何故,在WKWebView中完成的所有AJAX调用都会丢失授权cookie。
请问知道是否有办法以某种方式让授权cookie出现在AJAX调用中?注射JavaScript和
javascriptCookieString = @"document.cookie = 'testCookie=testValue';";
[self.webView evaluateJavaScript:javascriptCookieString completionHandler:nil];
没有工作,就好像有过任何的Javascript没有控制调用,因此被执行之前,我不能改变的请求。谢谢。
在将应用程序从WebView迁移到WKWebView时,遇到授权cookie丢失的问题,导致AJAX调用失败。尽管通过手动存储和添加cookie解决了HTTP请求的授权,但WKWebView中的AJAX调用仍然无法携带授权cookie。尝试使用JavaScript注入cookie的方法无效,问题依然存在。寻求解决方案以确保WKWebView的AJAX调用能正确携带授权cookie。
5292

被折叠的 条评论
为什么被折叠?



