투케이2K

362. (ios/swift5) 웹뷰 (WKWebview) backForwardList 사용해 url 주소 이동 히스토리 history 확인 본문

IOS

362. (ios/swift5) 웹뷰 (WKWebview) backForwardList 사용해 url 주소 이동 히스토리 history 확인

투케이2K 2023. 11. 3. 23:16
반응형

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // MARK: - [SEARCH FAST] : webviewHistoryList : [웹뷰 방문 내역 확인 실시] : Webview
    // -----------------------------------------------------------------------------------------
    func webviewHistoryList(wv: WKWebView) -> Array<String> {
        
        /*
        // -------------------------------------------------------
        [webviewHistoryList 메소드 설명]
        // -------------------------------------------------------
        1. 웹뷰 방문 내역 확인 실시
        // -------------------------------------------------------
        2. 호출 방법 :
         
         C_WebviewCommonFunc().webviewHistoryList(wv: WKWebView)
         
        // -------------------------------------------------------
        */
        
        
        // [리턴 변수 선언]
        var returnData = Array<String>()


        // -------------------------------------------------------
        // [히스토리 방문 내역 리스트 확인]
        // -------------------------------------------------------
        if wv != nil {
            
            if wv.backForwardList != nil && wv.backForwardList.backList.count > 0 {
                
                for i in stride(from: 0, through: (wv.backForwardList.backList.count)-1, by: 1) {
                    if returnData.description.contains(wv.backForwardList.backList[i].url.absoluteString) == false {
                     
                        returnData.append(wv.backForwardList.backList[i].url.absoluteString)
                        
                    }
                }
                
            }
            
            if returnData.description.contains(wv.url?.description ?? "") == false {
             
                returnData.append(wv.url?.description ?? "")
                
            }
            
            if wv.backForwardList != nil && wv.backForwardList.forwardList.count > 0 {
                
                for i in stride(from: 0, through: (wv.backForwardList.forwardList.count)-1, by: 1) {
                    if returnData.description.contains(wv.backForwardList.forwardList[i].url.absoluteString ) == false {
                     
                        returnData.append(wv.backForwardList.forwardList[i].url.absoluteString)
                        
                    }
                }
                
            }
            
        }
        
        
        // [로그 출력 실시]
        S_Log._D_(description: "Webview :: 웹뷰 방문 내역 확인 실시", data: [
            "RETURN :: " + returnData.description
        ])
        
        
        // [리턴 변수 반환]
        return returnData
        
    }
 

[결과 출력]


 
반응형
Comments