macOS, iOS
[iOS] webview에서 새 탭 열리는 부분 처리하기
SweetDev
2019. 12. 18. 20:57
import UIKit
import QRCodeReader
import AVFoundation
import WebKit
import SideMenu
class HomeViewController: UIViewController, WKNavigationDelegate, WKUIDelegate {
@IBOutlet weak var webView: WKWebView!
var popupWebView: WKWebView?
@IBAction func didTapSideBarButton(_ sender: Any) {
}
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) {
webView.removeFromSuperview()
popupWebView = nil
}
override func viewDidLoad() {
super.viewDidLoad()
webView.uiDelegate = self
webView.navigationDelegate = self
webView.configuration.preferences.javaScriptCanOpenWindowsAutomatically = true
}
[출처]
https://blog.nextzy.me/ios-handling-popup-new-window-inside-web-view-c9c91b23ac2b