亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 iOS WKWebView 彈出窗口時從彈出窗口調用 opener 函數

使用 iOS WKWebView 彈出窗口時從彈出窗口調用 opener 函數

慕勒3428872 2023-03-18 17:25:22
我最近一直在更改UIWebView為WKWebView基于 iOS WebView 的應用程序。WebView 的 javascript 中有一個window.open函數,彈出窗口調用 opener(parent) 的函數,如下所示// In parent window's javascriptwindow.open('popup' .....)function doIt(){}// In popup window's javascriptwindow.opener.doIt()在 UIWebView 中,我使用了 JSContext,以便彈出窗口可以調用 opener 的 javascript 函數。// 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 代碼的情況下,我應該怎么做才能調用 opener 的函數?
查看完整描述

1 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

真是個錯誤!

當 popup webview 在中實例化時func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView?,我創建了一個 webview,添加為 subView 并返回 nil。這就是 is null on javascript 的原因window.opener。


查看完整回答
反對 回復 2023-03-18
  • 1 回答
  • 0 關注
  • 307 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號