wkwebviews之间的Cookies共享

Posted

技术标签:

【中文标题】wkwebviews之间的Cookies共享【英文标题】:Cookies Sharing between wkwebviews 【发布时间】:2020-05-06 15:57:09 【问题描述】:

我有一个 Swift 中的 Xcode 项目,其中包含多个 wkwebviews 和一个 tabbbar,以便用户可以在主页、帐户、购物车等之间切换。

但问题是,当用户在 home webview 下的购物车中放入一些东西并移动到购物车 webview 时,这些项目是不可见的。

这是显示问题的视频:https://www.youtube.com/watch?v=qU3Mu1G7MY0&feature=youtu.be

您能否提供一个示例代码,我如何将 cookie 存储在 viewHome 下,然后将该 cookie 加载到 viewShopping 下的不同 wkwebview 中

请修改 GitHub 存储库中的代码 我是 swift 新手,所以解释对完成的代码没有帮助

https://github.com/TsGamesUE/multiplewkwebviews/

【问题讨论】:

这能回答你的问题吗? Cookie sharing between multiple WKWebViews ***.com/questions/25797972/… ***.com/questions/50147346/…' ***.com/questions/46247464/… 我试过了,但没用。也许我实施错了。你能用我的 Github Repo 做吗? 【参考方案1】:

在您的两个 ViewController 类的 loadView() 中尝试以下代码:

webConfiguration.processPool = viewHome.processPool

override func loadView() 
        let webConfiguration = WKWebViewConfiguration()
        webConfiguration.processPool = viewHome.processPool
        webViewHome = WKWebView(frame: .zero, configuration: webConfiguration)

附加:对于标准,请在类名约定(viewHome -> ViewHome)中使用驼峰式大小写。

【讨论】:

感谢您的回答,但是当我添加 processPool 时,它显示“ViewController 没有成员 processPool”我如何定义 processPool? 在你的情况下,它应该是 viewHome :你的类名。进程池。用你的代码更新了我的答案。

以上是关于wkwebviews之间的Cookies共享的主要内容,如果未能解决你的问题,请参考以下文章

WKWebview:从菜单中删除复制、查找、共享按钮并显示自定义

在 Xamarin WKWebView 和 UIWebView 之间共享 cookie

在 WKWebView 和 Safari 之间共享会话

如何让 WKWebView 像 SFSafariViewController 一样全屏显示?

为啥即使在 WKWebView 中设置 cookie 后 SSO 也不起作用?

iOS开发WKWebView Cookie的读取与写入,与UIWebView的Cookie共享