Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在WKWebView之间共享/重新加载本地存储、IndexedDB和Cookie_Ios_Swift_Local Storage_Indexeddb_Wkwebview - Fatal编程技术网

Ios 在WKWebView之间共享/重新加载本地存储、IndexedDB和Cookie

Ios 在WKWebView之间共享/重新加载本地存储、IndexedDB和Cookie,ios,swift,local-storage,indexeddb,wkwebview,Ios,Swift,Local Storage,Indexeddb,Wkwebview,有一个具有WKWebView“父级”的控制器,它打开(推送)另一个具有WKWebView“子级”的控制器 当Child修改localStorage、sessionStorage或IndexedDB,然后弹出到Parent,Parent不知道更改,需要重新加载以查看Child设置的新值 这意味着两个WKWebView共享相同的localStorage、sessionStorage和indexedDB,但它们需要刷新内容才能看到修改 如何在WKWebView之间实时共享同一存储?WKWebView的

有一个具有WKWebView“父级”的控制器,它打开(推送)另一个具有WKWebView“子级”的控制器

Child
修改localStorage、sessionStorage或IndexedDB,然后弹出到
Parent
Parent
不知道更改,需要重新加载以查看
Child
设置的新值

这意味着两个WKWebView共享相同的localStorage、sessionStorage和indexedDB,但它们需要刷新内容才能看到修改


如何在WKWebView之间实时共享同一存储?

WKWebView的init可以接收一个参数
WKWebViewConfiguration
,该参数带有一个名为
processPool
的变量,该变量表示所有web内容(包括localStorage、IndexedDB、Cookie等)进程

因此,为了让WKWebView实时共享所有内存管理,您需要为它们声明一个唯一的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)