2017-08-26 14 views
0

別のWKWebView "Child"を持つ別のコントローラを開く(プッシュする)WKWebView "Parent"を持つコントローラがあります。WKWebViews間でlocalStorage、IndexedDB、cookiesを共有/再読み込み

ChildはlocalStorageを、のsessionStorageかのIndexedDBは当時Parentにポップ変更すると、Parentは変更を認識されておらず、Childによって設定された新しい値を確認するために再ロードする必要があります。

これは、両方のWKWebViewが同じlocalStorage、sessionStorage、indexedDBを共有していることを意味しますが、変更内容を確認するにはコンテンツを更新する必要があります。

WKWebView間で同じストレージをリアルタイムで共有するにはどうすればよいですか?

答えて

1

WKWebViewsのinitは、すべてのWebコンテンツ(localStorage、IndexedDB、cookiesなどを含む)を表す変数processPoolでパラメータWKWebViewConfigurationを受け取ることができます。

WKWebViewsがすべてのメモリ管理をリアルタイムで共有するには、すべてのメモリ管理に一意のWKProcessPoolを宣言する必要があります。

let uniqueProcessPool = WKProcessPool() 

let configA = WKWebViewConfiguration() 
configA.processPool = uniqueProcessPool 
let webViewA = init(frame: CGRect.zero, configuration: configA) 

let configB = WKWebViewConfiguration() 
configB.processPool = uniqueProcessPool 
let webViewB = init(frame: CGRect.zero, configuration: configB) 
関連する問題