Notice
Recent Posts
Recent Comments
Link
투케이2K
85. (ios/swift) WKWebView 웹뷰 window open 새창 열기 이벤트 감지 및 외부 링크로 전환 실시 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[소스 코드]
// MARK: - [웹뷰 window open 새창 열기 이벤트 감지 실시]
func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
// [url 주소 확인 실시]
let _urlString = navigationAction.request.url!.absoluteString
print("")
print("===============================")
print("[A_Main >> createWebViewWith() :: 웹뷰 [window open] 새창 이벤트 확인]")
print("url :: \(_urlString)")
print("===============================")
print("")
// -----------------------------------------
// [사용 방법 설명]
// 1. WKWebView 웹뷰 사용 실시
// 2. 딜리게이트 선언 필요 - WKNavigationDelegate, WKScriptMessageHandler, WKUIDelegate,
// [예시 :: class A_Main: UIViewController, WKNavigationDelegate, WKScriptMessageHandler, WKUIDelegate)]
// -----------------------------------------
// [url 링크 값 체크 수행 실시]
if _urlString != nil
&& _urlString.count > 0
&& _urlString.hasPrefix("http") == true {
// [외부 브라우저 내부 링크 이동 실시 : UIApplication.shared.open]
self.goSafariBrowser(_url: _urlString)
}
return nil
// -----------------------------------------
}
func webViewDidClose(_ webView: WKWebView) {
print("")
print("===============================")
print("[A_Main >> webViewDidClose() :: 웹뷰 [window open] 닫기 이벤트 확인]")
print("===============================")
print("")
}
반응형
'IOS' 카테고리의 다른 글
Comments