티스토리 뷰

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

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함