목록웹뷰 (136)
투케이2K

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] self.main_webview!.evaluateJavaScript("closeKeypad(\(jsonObj))") { (success, error) in if error != nil { print("") print("===============================") print("[A_Main >> iosToJs_closeKeypad() :: IOS >> 자바스크립트]") print("JS 함수 :: closeKeypad") print("설 명 :: ", "암호화 데이터 전달") print("전송 결과 [error] :: ", error?.localizedDescription) print("==========..

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // [크롬 클라이언트 설정 실시] main_webview.setWebChromeClient(new WebChromeClient() { @Override public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) { Log.i("---","---"); Log.w("//===========//","================================================"); Log.i("","\n"+"[A_Main >> onCreateWindow() :: 웹 브라우저..

[개발 환경 설정] 개발 툴 : 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("=======================..

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] main_webview.setWebChromeClient(new WebChromeClient() { @Override public boolean onShowFileChooser(WebView webView, ValueCallback filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) { Log.i("---","---"); Log.w("//===========//","================================================"); Log.i("","\n"+"[A_Main >> onShowFileChoos..

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // TODO [크롬 클라이언트 설정 실시] main_webview.setWebChromeClient(new WebChromeClient() { @Override public boolean onShowFileChooser(WebView webView, ValueCallback filePathCallback, FileChooserParams fileChooserParams) { Log.i("---","---"); Log.w("//===========//","================================================"); Log.i("","\n"+"[A_Main >> onShow..

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드 : 이미지 다중 선택] main_webview.setWebChromeClient(new WebChromeClient() { // TODO [현재 웹뷰 로딩 상태 확인] @Override public void onProgressChanged(WebView view, int progress) { Log.i("---","---"); Log.d("//===========//","================================================"); Log.i("","\n"+"[A_Main >> init_webView() :: 웹뷰 초기값 설정 및 로드 수행]"); Log.i("","\n"+"..

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] // TODO [모바일 키 이벤트 발생 체크 부분] @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // [모바일 디바이스의 뒤로가기 키 이벤트가 발생한 경우] if (keyCode == KeyEvent.KEYCODE_BACK) { try { Log.i("---","---"); Log.w("//===========//","================================================"); Log.i("","\n"+"[A_Main >> onKeyDown() :: 백버튼 터치시 뒤로 가기 이벤트 실시]"); Log..

[개발 환경 설정] 개발 툴 : AndroidStudio 개발 언어 : java [소스 코드] main_webview.setWebChromeClient(new WebChromeClient() { // 웹 브라우저 콘솔 로그 확인 @Override public boolean onConsoleMessage(ConsoleMessage consoleMessage) { Log.i("---","---"); Log.d("//===========//","================================================"); Log.i("","\n"+"[A_Main >> onConsoleMessage() :: 웹 브라우저 콘솔 로그 확인 실시]"); Log.i("","\n"+"[url :: ..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [필요 설정] [소스 코드 : 웹뷰 메인] import UIKit // MARK: [웹뷰를 사용하기 위한 import] import WebKit class ViewController: UIViewController , WKNavigationDelegate, WKScriptMessageHandler , WKUIDelegate { // MARK: [클래스 상속 설명] /* 1. WKNavigationDelegate : 웹뷰 실시간 로드 상태 감지 2. WKScriptMessageHandler : 자바스크립트 통신 사용 3. WKUIDelegate : alert 팝업창 이벤트 감지 */ // MARK: [액티비티 메모리 로드 수행 ..

/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] /** ========= [자바스크립트에서 안드로이드 호출하기 - 경로 지정] ========= **/ public void Javascript_To_Android(){ //TODO [자바스크립트 부분 : 예제 [1]] /** function JsToAndo() { window.location.close('JS TO Mobile'); // [안드로이드에서 브릿지 경로 location 정의 / 안드로이드 브릿지 내부에서 정..

/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] //TODO [안드로이드 웹뷰 SSL 오류 체크 : 구글 플레이스토어 SSL Error Handler 대응] @Override public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) { try { Log.d("---","---"); Log.e("//===========//","=====================..

/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] //========= [초기 웹뷰 설정 시 자바 스크립트 경로 지정 실시] ========= public void Javascript_To_Android(){ //TODO 자바 스크립트 통신 경로 지정 main_webview.addJavascriptInterface(new A_Webview.AndroidBridge(), "Android"); //자바스크립트에 대응할 함수를 정의한 클래스 붙여줌 } //========= [..

/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] //TODO [웹뷰 초기 설정하는 부분에서 지정] webView.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int progress) { Log.d("---","---"); Log.d("//===========//","===========================================..

/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] //TODO [웹뷰 초기 설정하는 부분에서 지정] webView.setWebChromeClient(new WebChromeClient() { @Override public boolean onJsAlert(final WebView view, final String url, final String message, JsResult result) { Log.d("---","---"); Log.d("//===========//",..

/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] //TODO [WebClient extends WebViewClient : 안드로이드 상위버전에서 SSL 오류 체크] @Override public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) { try { //TODO E/chromium: [ERROR:ssl_client_socket_impl.cc 에러 해결 위함 ..

/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [설 명] [ 원인 ] 1. 안드로이드 앱 프로그래밍에서 웹뷰 초기 설정 시 캐시 및 히스토리 삭제 코드가 안되어있는 경우 2. 사용자 휴대폰 기기에서 기본으로 설정된 웹브라우저가 크롬이 아닌 경우 - 구글에서는 크롬을 기본 브라우저로 권장하고 있음 - ex : 삼성 브라우저 등 ... 3. 기본 브라우저에서 이전에 사용된 캐시 및 히스토리 기록이 남아 있는 경우 4. 안드로이드 시스템인 웹뷰 (webview) 에서 문제..