我最近一直在更改UIWebView為WKWebView基于 iOS WebView 的應(yīng)用程序。WebView 的 javascript 中有一個window.open函數(shù),彈出窗口調(diào)用 opener(parent) 的函數(shù),如下所示// In parent window's javascriptwindow.open('popup' .....)function doIt(){}// In popup window's javascriptwindow.opener.doIt()在 UIWebView 中,我使用了 JSContext,以便彈出窗口可以調(diào)用 opener 的 javascript 函數(shù)。// Legacy code for communication between 2 UIWebView windows// Not works when using WKWebViewJSContext *parentCtx = [parentWebView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];JSContext *childCtx = [popupWebView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];childCtx[@"window"][@"opener"] = parentCtx[@"window"];但是,似乎JSContext在使用 WKWebView 時不可用。在這種情況下,如何在 javascript 上下文中鏈接兩個 webview?在不更改遺留 javascript 代碼的情況下,我應(yīng)該怎么做才能調(diào)用 opener 的函數(shù)?
使用 iOS WKWebView 彈出窗口時從彈出窗口調(diào)用 opener 函數(shù)
慕勒3428872
2023-03-18 17:25:22