대문 제작: imrahelk
웹 브라우저에서는 버튼 클릭이 잘 되는데, 안드로이드 웹 뷰에서는 클릭이 안 되는 이슈가 있었습니다. 웹 페이지를 제가 아닌 외부 업체가 만든 거라 어떻게 해결할지 접근이 쉽지 않았습니다. 크롬의 검사 기능을 이용해 소스에 접근할 수 있었고요. 해당 버튼 클릭을 처리하는 코드를 보니 localStorage에 접근하려는 시도가 있었습니다. 웹뷰에서 저거를 사용하지 못해 클릭이 처리되지 않은 것으로 보였지요.
검색을 해보니 안드로이드 웹뷰에서 localStorage를 사용하기 위해서는 바꿔야 할 설정이 있습니다. 그것은 Dom Storage를 허가하는 것입니다. 이거를 설정해주니 버튼 클릭이 정상적으로 처리됨을 확인했습니다. 이를 코드로 아래와 같이 정리합니다.
WebView webView = (WebView)findViewById(R.id.webView);
WebSettings ws = webView.getSettings();
ws.setJavaScriptEnabled(true); // 자바스크립트 사용이 가능해야 함
ws.setDomStorageEnabled(true); // localStorage 사용을 위해
참고 사이트
- http://charlie0301.blogspot.com/2015/09/windowlocalstorage-android-webview.html
- https://smdroid.tistory.com/3
이 글은 네이버 블로그에서도 보실 수 있습니다.
https://netrance.blog.me/221585695432