Rev. 2.73

얼마전 구글에서 배포한 크롬 브라우저를 테스트 해보았습니다. 엘리먼트 드로잉 속도는 정말 쾌적하더군요. 하지만 매우 심각한 오류가 유발 될 소지가 있어 이를 해결하고자 제가 처한 환경에서 여러가지 삽질을 해봅니다. 우선 조취해야 한 것은, navigator.userAgent 정보가 AppleWebKit(사파리)과 거의 흡사하여 사파리에 대한 예외처리로 집입할 우려가 있어 아래와 같은 코드를 추가했습니다.

크롬 브라우저 및 사파리 브라우저 발견 스크립트 추가 및 오버라이딩 :

Prototype.Browser.Chrome = !!navigator.userAgent.match('Chrome');
Prototype.Browser.WebKit = !Prototype.Browser.Chrome && Prototype.Browser.WebKit;

위와 같은 조치만으로 다수의 오류를 잡을 수 있었습니다. 특히 LazyLoader와 같은 동적 자바스크립트 호출을 사용한다면 무한 루프로 진입하게 되는 현상을 방지할 수 있습니다. 두번째 문제로는 크롬 브라우저가 특정 사이트에 처음 액세스 하는 경우(케시되기 전)에는 정상적으로 작동합니다만, 케시되고 난 후에 Prorotype이 먹통이되는 사태가 발생합니다.

chrome.jpg
정상적인 초기화
chrome-error.jpg
초기화 오류
typeof Element.prototype.setStyle; // "undefined"
typeof HTMLElement.prototype.setStyle; // "undefined"
typeof HTMLDivElement.prototype.setStyle; // "undefined"
typeof document.createElement('div').setStyle; // "function"

한참동안 꼼수를 부려봤지만, 답은 안나오고 하는 수 없이 브라우저 이슈로 넘겼습니다.(콘솔창만 열면 오류가 발생하는 것으로 보입니다.) 구글이 자바스크립트가 통용되는 버전을 만들어 줄 것이라 믿어 의심치 않습니다.

Comments

Got something to add? You can just leave a comment.

  • 오랜만이네요.. ^^
    워드프레스 통계플러그인에서 보니 사파리로 인식하더군요 agent 가 사파리와 흡사하네요 ㅎㅎ

    저도 버그 하나 발견했네요.. 듀얼 모니터를 사용중인데
    서브쪽 모니터에서 최대화를 하니.. 메인모니터 해상도에 맞도록 최대화되는 큰 문제가 있더군요. ㅠ.ㅠ

    reply edit

  • 예 오랜만입니다. 아직 문제가 많은가 보군요.

    reply edit

  • 아직 베타니까 열심히 버그 리포트 해야 겠습니다. 저도 두건 했어요. 둘다 웹킷문제였지만...ㅎㅎ

    reply edit

  • 구글이 만들면 뭔가 다르다라는 인식은 여전히 유효한것 같아요. 저도 열심히 리포트해 볼렵니다.

    reply edit

  • 최근 블로그 스피어 (아니, 인터넷 산업 전반인지도 모르겠습니다) 를 뜨겁게 달구었던 큰 이슈중 하나가 바로 구글의 웹브라우저 크롬(Chrome)이 아니었을까요? 장기 해외출장후 바로..

  • 오랜만이네요.. ^_^

    reply edit

Your Reaction Time!

captcha

avatar