如何在不共享cookie的情况下拥有多个webkit实例?

Dus*_*tin 20 macos webkit objective-c

我有一个创建了几个WebView实例的应用程序,我希望它们尽可能独立运行.

至少,我不希望他们共享cookie.一个快速的谷歌搜索给了我喜欢"你不能"的结果.我希望有人有更好的答案.

Lil*_*ard 18

基本答案是"你不能".

看了一下后,我认为这是可能的,但非常复杂.它将涉及在WebView上实现resourceLoadDelegate,它实现-webView:resource:willSendRequest:redirectResponse:fromDataSource:并修改关闭HTTPShouldHandleCookies请求并手动将任何相关的cookie添加到请求中.它还必须实现-webView:resource:didReceiveResponse:fromDataSource:以了解从服务器返回的任何cookie.您可以分配/初始化NSHTTPCookieStorage每个webview 的副本,并使用它来存储/检索cookie.

  • 我实际上实现了一个WebView子类,它使用本答案中描述的方法执行此操作.http://igisolatedcookiewebview.googlecode.com/(新BSD许可证). (14认同)