您好,我目前在Swift 3项目中使用WKWebView。 是否可以将相同的WKWebView保存在另一个类中,以便在不同的类中运行一个主WKWebView?
我已尝试使用WKProcessPool和WKWebsiteDataStorage执行此操作,但是当我在其他类中设置新的WKWebView时,我不知道如何引用现有配置/登录wkwebview。
我已经浏览了整个互联网,但无法找到解决方案。 我希望你理解我的问题,并知道解决方案。 在此先感谢!!
答案 0 :(得分:3)
燕姿。 如果要对所有Web视图实例使用相同的配置,只需使用静态属性/方法创建类或扩展。例如:
extension WKWebViewConfiguration {
static var shared : WKWebViewConfiguration {
if _sharedConfiguration == nil {
_sharedConfiguration = WKWebViewConfiguration()
_sharedConfiguration.websiteDataStore = WKWebsiteDataStore.default()
_sharedConfiguration.userContentController = WKUserContentController()
_sharedConfiguration.preferences.javaScriptEnabled = true
_sharedConfiguration.preferences.javaScriptCanOpenWindowsAutomatically = false
}
return _sharedConfiguration
}
private static var _sharedConfiguration : WKWebViewConfiguration!
}
如果您只想在网络视图实例之间共享Cookie,请为WKWebsiteDataStore.default()
个实例WKWebViewConfiguration
使用单个对象。