목록웹뷰 (136)
투케이2K
[로직 정리] 정리 로직 : MOBILE (IOS) 상태 : [IOS] WkWebview 웹뷰 COOKIE 쿠키 공유 [설 명] [IOS] 1. 웹뷰 웹뷰 초기 설정 셋팅 수행 실시 및 로드 하기 (전) 웹뷰 헤더 쪽에 쿠키 삽입 , 웹뷰 로드 수행 실시 - 쿠키 추가 셋팅 위함 : 웹뷰 WKWebViewConfiguration.websiteDataStore 설정을 >> WKWebsiteDataStore.nonPersistent() 로 설정 - 헤더 쪽 쿠키 삽입 실시 : URLRequest.addValue("데이터", forHTTPHeaderField: "Cookie") - 웹뷰 로드 실시 : webview.load(request) 2. WKUserContentController 부분 자바스크립..

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // [쿠키 매니저 사용해 쿠키 값 셋팅 실시] CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true); cookieManager.setAcceptThirdPartyCookies(main_webview, true); // [웹뷰 지정] cookieManager.setCookie("m.test.ac.kr", "JSESSIONID=6245179bad665fcda080087c;domain=m.test.ac.kr;path=/;"); // [쿠키 값 셋팅 실시] cookieManager.getInstan..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // [자바스크립트 사용해 쿠키를 셋팅 하기 위해 형식 정의 실시] var cookies = "document.cookie='" cookies += "JSESSIONID=6245179bad665fcda080087c;domain=m.test.ac.kr;path=/;" cookies += "'" print("") print("===============================") print("[A_ChildWebview >> observeValue() :: 웹뷰 로드 상태 확인]") print("쿠키값 자바스크립트 셋팅 :: ", cookies) print("===============================")..
[설 명] 프로그램 : Ios / Swift 설 명 : 웹뷰 로드 화면 관련 클래스 정리 [소스 코드] import UIKit import SafariServices import WebKit import AVFoundation class A_Main: UIViewController, WKNavigationDelegate, WKScriptMessageHandler, WKUIDelegate { // MARK: - [클래스 설명] /* // ----------------------------------------- 1. 메인 웹뷰 화면 호출 액티비티 화면 2. 사용하는 스토리보드 : Main 3. 웹뷰 호출 실시 및 자바스크립트 통신 처리 // --------------------------------..
[설 명] 프로그램 : Ios / Swift 설 명 : 웹뷰 호출 시 발생하는 에러 코드 관리 클래스 [소스 코드] import Foundation import UIKit class S_WebViewErrorCode { // MARK: - [클래스 설명] /* // ----------------------------------------- 1. 웹뷰 호출 시 발생하는 에러 코드 관리 클래스 2. 사용 방법 : S_WebViewErrorCode().checkError(_errorCode: 1019) // ----------------------------------------- */ // MARK: - [웹뷰 에러 체크 메소드] func checkError(_errorCode:Int) -> Stri..
[설 명] 프로그램 : Android / Java 설 명 : 웹뷰 로드 화면 관련 클래스 정리 [A_Main : 소스 코드] package com.example.testapp; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import android.app.Activity; import android.app.AlertDialog; import android.content.ActivityNotFoundException; import android.content.Dialog..

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [에러 발생 화면] [에러 원인] 1. 웹뷰 로드에 필요한 인터넷 사용 퍼미션 권한이 없는 상태 [해결 방법] 1. AndroidManifest.xml 파일에서 인터넷 권한 추가 실시

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드]

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [참고 사이트] https://jsdev.kr/t/ios-webview/1084 IOS에서 WebView를 사용할 때 질문입니다. 안녕하세요? WebView를 사용해서 앱에서 웹서버에 있는 페이지를 표시하려고 하는데, 안드로이드에서는 웹서버에서 변경한 내용이 바로 반영되고요. IOS에서는 WebView로 로딩한 웹페이지가 기기에 jsdev.kr

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // [스케일 관련] main_webview.setInitialScale(8); main_webview.scrollTo(0,0); // [뷰 포트 핀줌 관련] main_webview.getSettings().setLoadWithOverviewMode(true); main_webview.getSettings().setUseWideViewPort(true); main_webview.getSettings().setBuiltInZoomControls(true); main_webview.getSettings().setSupportZoom(true); main_webview.getSettings().setDispl..
[로직 정리] 정리 로직 : MOBILE (ANDROID / IOS) 상태 : [모바일] 웹뷰 (webview) 로드 시 쿠키 사용해 웹뷰 로드 수행 실시 [설 명] [Android] 1. 초기 웹뷰 로드를 수행하기 전 이전에 저장된 쿠키 및 세션 데이터가 있으면 초기화 수행 실시 - webview.clearCache - webview.clearHistory - CookieManager.removeSessionCookies - CookieManager.removeAllCookies 2. 웹뷰 초기 설정 셋팅 수행 실시 및 로드 하기 (전) 쿠키 매니저를 사용해 쿠키 삽입 실시 - CookieManager.setCookie 3. 웹뷰 로드 수행 실시 - webview.loadUrl 4. 실시간 웹뷰..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // ----------------------------------------- // [웹뷰 스크롤 바운스 방지] self.main_webview?.scrollView.alwaysBounceVertical = false self.main_webview?.scrollView.bounces = false // ----------------------------------------- // [웹뷰 추가 실시] self.view.addSubview(self.main_webview!) // -----------------------------------------

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] [결과 출력]

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // [새로운 URL이 webview에 로드되려 할 경우 컨트롤을 대신할 기회를 줌] @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.i("---","---"); Log.w("//===========//","================================================"); Log.i("","\n"+"[A_Nice >> shouldOverrideUrlLoading() :: [웹 클라이언트]]"); Log.i("","\n"+"[기본 주소 :: "+String.valueOf(url)+"..

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [방법 설명] 1. 사전 안드로이드 웹뷰 초기화 코드에 usb 디버깅 허용 코드 추가 실시 - main_webview.setWebContentsDebuggingEnabled(true); 2. 안드로이드 휴대폰 개발자 모드 활성 및 usb 디버깅 허용 실시 3. 특정 하이브리드 앱이 설치된 안드로이드 디바이스 기기를 usb 선을 통해 pc 컴퓨터에 연결 및 디버깅 허용 실시 4. 크롬 브라우저 활성 및 주소창에 디버깅 모드 검색 실시 - 주소 : chrome://inspect 5. 크롬 Remote Target 메뉴에서 연결된 디바이스 기기 확인 및 특정 앱 실행 실시 (하단에..

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // ----------------------------------------- // TODO [WebView 컴포넌트 매핑 설정] main_webview = (WebView)findViewById(R.id.main_webview); // ----------------------------------------- // ----------------------------------------- // TODO [웹뷰 쿠키 및 세션 관리를 위한 쿠키 매니저 선언] CookieManager cookieManager = CookieManager.getInstance(); // --------------------..

[참고 사이트] [참고 사이트 주소] https://velog.io/@jeongsick82/Android-WebView-%EC%9B%90%EA%B2%A9-%EB%94%94%EB%B2%84%EA%B9%85 [Android] WebView 원격 디버깅 Chrome 개발자 도구를 사용하여 네이티브 Android 앱에서 WebView를 디버그단말기 설정 -> 개발자도구에서 USB 디버깅이 활성화 되어 있어야 함디버깅용 WebView 구성네이티브 Android 앱에서 WebView 디버깅 velog.io
[로직 정리] 정리 로직 : MOBILE (ANDROID / IOS) 상태 : [모바일] 웹뷰에서 window open 상태 감지 및 child 웹뷰 호출 실시 및 로직 처리 [설 명] 1. 부모 웹뷰 (parentWebview) 에서 window open 상태 감지 실시 - IOS : func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) - AOS : main_webview.setWebChromeClient >> public boolean onCre..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // MARK: - [웹뷰 실시간 url 변경 감지 실시] func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { let _shouldUrl = String(describing: webView.url?.description ?? "") var action: WKNavigationActionPolicy? guard let url = navigationAction.request.url else { ret..

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // [새로운 URL이 webview에 로드되려 할 경우 컨트롤을 대신할 기회를 줌] @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.i("---","---"); Log.w("//===========//","================================================"); Log.i("","\n"+"[A_Nice >> shouldOverrideUrlLoading() :: [웹 클라이언트]]"); Log.i("","\n"+"[기본 주소 :: "+String.valueOf(url)+"..