티스토리 뷰


iOS의 webview는 두가지입니다.

UIWebView 와 WKWebView.


UIWebView는 iOS7까지 사용되었고 iOS8 부터는 WKWebView를 사용합니다.

문제는 iOS10이 업데이트 되고 있는 지금까지도 구형 웹뷰인 UIWebView를 사용하는 앱들이 있다는 겁니다.


현재(2016.08.20) 기준으로 네이버앱과 카카오톡앱이 대표적입니다.

하필이면 국내에서 제일 많은 유저가 사용하는 앱 2개가 구형 웹뷰를 사용하고 있는 것입니다.


덕분에 저 두가지 앱에서만 스크립트 코드가 이상하게 작동하는 경우가 생깁니다.

iOS9까지는 window.indexedDB의 지원 여부로 두개를 구분하는게 가능했습니다.


그런데 오늘 iOS10 베타를 올려보니 UIWebView에서도 indexedDB를 지원하는 것입니다.

애플에서 구버전의 웹뷰에서도 indexedDB가 가능하도록 업데이트 한것 같습니다.


하지만 이 상황이 저에게는 그닥 좋지 않네요 -__;;

결국에는 삽질 끝에 다시  iOS 인앱 브라우져에서 UIWebView 와 WKWebView를 구분코드를 만들어 보았습니다.


function inAppCheckUiwebview(){
    var isInApp = navigator.userAgent.match(/ipod|iphone|ipad/i) && navigator.userAgent.indexOf('Safari') === -1,
        inAppUiwebview = false;
    if(isInApp){
        try {
            inAppUiwebview = window.webkit.messageHandlers===undefined?true:false;
        } catch(err) {
            inAppUiwebview = true;
        }
    }
    return inAppUiwebview;
}


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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 31
글 보관함