WebView 세팅 속성

2021. 4. 30. 15:26Android/WebView

setJavaScriptEnabled ( false ) 

웹뷰를 사용하면 네이티브 영역에서 코드로 처리 되는 것이 거의 없는 경우가 많습니다.

그래서 자바스크립트로 이루어져 있는 기능들을 사용하기 위하여 해당 속성을 추가해야합니다.

 

 

setJavaScriptCanOpenWindowsAutomatically ( false )

필요에 의해 팝업창을 띄울 경우가 있는데, 해당 속성을 추가해야 window.open() 이 제대로 작동합니다.


setLoadsImagesAutomatically ( true )

웹뷰가 앱에 등록되어 있는 이미지 리소스를 자동으로 로드하도록 설정하는 속성입니다.

 

setUseWideViewPort ( false )

웹뷰가 wide viewport를 사용하도록 설정하는 속성입니다.

그래서 html 컨텐츠가 웹뷰에 맞게 나타나도록 합니다.

 

 

setSupportZoom ( true )

확대 축소 기능을 사용할 수 있도록 설정하는 속성입니다.

 

setCacheMode

웹뷰의 캐시 모드를 설정하는 속성으로써 5가지 모드가 존재합니다.

 

LOAD_CACHE_ELSE_NETWORK 기간이 만료돼 캐시를 사용할 수 없을 경우 네트워크를 사용합니다.

LOAD_CACHE_ONLY 네트워크를 사용하지 않고 캐시를 불러옵니다.

LOAD_DEFAULT 기본적인 모드로 캐시를 사용하고 만료된 경우 네트워크를 사용해 로드합니다.

LOAD_NORMAL 기본적인 모드로 캐시를 사용합니다.

LOAD_NO_CACHE 캐시모드를 사용하지 않고 네트워크를 통해서만 호출합니다.

 

 

setDomStorageEnabled( false )

로컬 스토리지 사용 여부를 설정하는 속성으로 팝업창등을 '하루동안 보지 않기' 기능 사용에 필요합니다.

HTML 5 사양을 사용하지 않는 웹 사이트에서는 해당 사양의 일부이기 때문에 이 기능이 무관
DOM 저장소를 활용하는 모든 웹 사이트가 장치에서 해당 저장소 옵션을 사용할 수 있도록 허용
공간 절약과 보안을 위해 기본적으로 비활성화

 

setAppCacheEnabled ( false ) 

앱 내부 캐시 사용 여부 설정입니다.

(웹에서 앱캐시를 사용하는 방법이 있다보다 찾아보자)

 

setAllowFileAccess 

웹뷰 내에서 파일 액세스 활성화 여부

 

setUserAgentString

앱에서 띄운 페이지지인지 웹에서 띄운 페이지인지 확인 하는 방법

setUserAgentString(userAgent+"MyApp(어플명)");

웹에서 UserAgent를 호출 하면 위에서 입력한 값이 호출 된다.

<script type="text/javascript">

    var broswerInfo = navigator.userAgent;    

    alert(broswerInfo);                                

</script>

 

 

setUserAgentStringsetDefaultTextEncodingName

인코딩 설정

setDefaultTextEncodingName("UTF-8")

 

setBlockNetworkImage

네트워크를 통해 이미지리소스 받을지 여부

setBlockNetworkImage(false);

 

 

developer.android.com/reference/android/webkit/WebSettings