Я использовал Обработка нового окна внутри веб-просмотра .Я использовал решение 2 по упомянутой ссылке, которая добавляла новое окно в подпредставление .
Это решение, представленное в этой ссылке, работает довольно хорошо.Но проблема, с которой я столкнулся здесь, заключается в том, что при открытии нескольких окон в webview
я не могу закрыть родительское окно, через которое оно было открыто.Открытие и закрытие окна контролируется простым кодом, написанным на удаленном сервере, состоящим из window.open("some_valid_url")
и window.close()
для открытия и закрытия окна соответственно.
Я даю веб-просмотр, скажем, www.someValidUrl.com, в котором есть код для открытия и закрытия окна.
Например: Main Page -> Then Main Page открывает окноA -> Тогда окно A Открывает окно B, Теперь, если я закрою окно B, то попробуйте закрыть окно A, окно A не закроется.
В результате я не могу вернуться в Mainстр.
Я добавляю код, который используется для открытия и закрытия окон соответственно:
class ViewController: UIViewController, UIWebViewDelegate, CLLocationManagerDelegate,WKUIDelegate,WKNavigationDelegate
{
@IBOutlet weak var webView: WKWebView!
var popupWebView: WKWebView?
...
func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
popupWebView = WKWebView(frame: view.bounds, configuration: configuration)
popupWebView!.autoresizingMask = [.flexibleWidth, .flexibleHeight]
popupWebView!.navigationDelegate = self
popupWebView!.uiDelegate = self
view.addSubview(popupWebView!)
return popupWebView!
}
func webViewDidClose(_ webView: WKWebView) {
if webView == popupWebView {
popupWebView?.removeFromSuperview()
popupWebView = nil
}
}
...
}
Я поделился единственным кодом, который использовался для открытия и закрытия окон.Я хочу разрешить открытие и закрытие нескольких окон в моем приложении.Любая помощь будет принята с благодарностью.
Пожалуйста, спросите, нужна ли вам дополнительная информация по этому вопросу.