novasera

calendar

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
  • total
  • today
  • yesterday
현재 만든 사이트를 IE6 ,FF, 크롬에서 테스트중

상단 메인메뉴+마우스오버시 하위메뉴 visible 하는 부분의 하위메뉴가

IE6에서만 깜빡이는 현상이 있었다.

메뉴부분에 마우스오버하면 해당메뉴를 visible시키고 나머지는 안보이게 하는

함수를 호출하는데, 이 함수가 호출 될때마다 깜빡였다.

이에 대해 찾아보던중 역시나 IE6에서만 발생하는 현상이란 걸 알았다.

그리고 자료에서 제시한 해결 방법은 아래와 같다.


<!--[if IE 6]>
<style type="text/css">
html {
  filter: expression(document.execCommand("BackgroundImageCache", false, true));
}
</style>
<![endif]-->


같은 방법을 javascript로 처리하는

try { // IE only
    document.execCommand('BackgroundImageCache', false, true);
} catch(e) { }

와 같은 코드도 찾았지만

되도록 스크립트는 건들이지 않으려고 첫번째 css를 사용한 방법을 썼다.

IE6만을 위한 주석처리도 되어 있다.

이 코드를 우선 index페이지에 걸어봤더니 깜빡임이 사라졌다.

그리고 아직 코드를 넣지 않은 다른 페이지 (메인메뉴부분을 다른걸 사용하도록 한)

를 호출하니 그 페이지 까지 적용이 되었다.

아마 한번 실행되면 그 사이트 전체에 적용이 유지되는 것 같다.

그래서 이번엔 코드를 넣지 않은 사이트의 주소를 쳐서 index를 통해 들어가지 않고

direct로 들어가보니, 역시 코드 적용이 되지 않은 상태라 깜빡임이 발생했다.

그래서 index로 갔다 다시 해당 페이지로 돌아와보니 깜빡임이 사라졌다.

이것으로 내 생각엔 확실히 한번 실행되면 사이트 전역에 유지되는 것 같다.

그래도 방문자가 어느 페이지를 통해, 혹은 검색을 통해 들어올지 모르니.

css를 이용해 사이트 전역에 넣어주는게 좋을 것 같다.


참고 사이트

posted by novasera