티스토리 뷰

728x90
반응형

안드로이드 웹앱을 만들때  webview 에 다음과 같은 세팅을 해주세요

 

val myWebView: WebView = findViewById(R.id.webview)
myWebView.settings.javaScriptEnabled = true
myWebView.settings.domStorageEnabled = true

 

javaScriptEnabled 은 웹뷰내에 보여지는 웹페이지가 javascript를 사용할수 있도록 허용합니다

react, vue 등으로 만들어진 사이트라면 무조건 javascript가 실행되어야 하므로 반드시 필요합니다

 

domStorageEnabled 은 localStorage, sessionStorage 를 사용할수 있도록 허용합니다

localStorage나 sessionStorage를 쓰지 않고, 세션이나 쿠키만 사용하는 경우가 있을수 있겠지만

최근 추세는 localStorage나 sessionStorage를 많이 활용하고 있습니다

 

그래서 이 값도 미리 활성화 시켜주는 것이 좋습니다

 

 

 

참고로 웹뷰를 디버깅할때 웹뷰에서 발생한 console 로그를 logcat에서 볼수 있도록 하는 방법도 알려드려요

 

myWebView.webChromeClient = object : WebChromeClient() {
    override fun onConsoleMessage(consoleMessage: ConsoleMessage?): Boolean {
        consoleMessage?.apply {
            Log.d("MyWebView", "${message()} -- From line ${lineNumber()} of ${sourceId()}")
        }
        return true
    }
}

 

이렇게 onConsoleMessage를 오버라이드하면

 

웹뷰에서 발생한 console message를 logcat에서도 확인이 가능합니다

 

 

 

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함