인터넷 익스플로러에서 Stack overflow 에러가 나타난다

by H.F. Kais | 2006. 7. 8. | 0 comments

Blogger의 템플릿 코드에서는 HTML과 CSS, 자바스크립트 등을 사용할 수 있다. 서비스형 블로그임에도 불구하고 각종 태그나 코드를 사용하는 데 제약이 없기 때문에, 약간의 관련 지식만 갖추면 자신의 블로그를 멋지게 꾸밀 수 있다. 다만, 이미지는 업로드할 수 있지만 CSS나 기타 파일형식을 업로드할 수 없다는 것은 다소 아쉬움으로 남는다.

그런데 사용자가 직접 템플릿 코드를 손볼 수 있기 때문에, 가끔 예상치 못한 문제를 겪을 수도 있다. 바로 버그나 브라우저 호환성에 관련된 문제들이다. 때문에 Blogger에서 직접 템플릿 코드를 만들거나 수정할 경우, 이런 문제점들을 염두에 두어야 한다.

블로그 템플릿을 손보다 뜻하지 않은 에러를 만났는데, 바로 인터넷 익스플로러에서 Stack overflow 에러메시지가 나타난 것이었다. 파이어폭스에서는 멀쩡히 보이는 블로그가, IE에서만 이 메시지를 보이며 링크도, 블럭도 아무것도 작동하지 않았다. 생전 처음보는 에러 메시지라 당황스러웠다. 검색엔진을 통해 찾아본 결과, 범인은 자바스크립트 코드를 담고 있는 .js 파일이었다. 하나의 HTML문서에 똑같은 .js 파일이 복수로 연결될 경우, 에러발생 시 코드가 무한루프로 빠져 overflow 에러가 나타난다는 것이었다. 나의 경우, <$BlogMetaData$> 태그가 템플릿 내에 중복으로 들어가 있었다. 이 태그는 Blogger 자체 태그로, 각 블로그의 메타정보를 출력해주는 동시에 각종 .js 파일들을 링크시켜 주기도 한다. 결과적으로 똑같은 .js 파일들이 두 개 씩 들어가 Stack overflow 에러가 나타난 것이었다. 파이어폭스는 최신 브라우저답게 이 에러를 자체적으로 처리했거나 무시한 모양이었지만, 인터넷 익스플로러는 에러메시지를 출력하며 작동이 되질 않았다. 만약 당신이 만든 웹페이지나 블로그에서 Stack overflow 에러가 나타난다면, 똑같은 .js 파일을 중복으로 연결시키진 않았나 확인해보기 바란다.

요약

문제 : 웹 페이지 코드를 수정 후, IE에서 Stack overflow 에러가 나타난다.

원인 : 웹 페이지에 중복 포함 된 자바스크립트 파일 (.js)이 원인일 수 있다.

해결 : 코드를 확인하여 중복 포함 된 자바스크립트 파일을 제거한다.

자세한 설명은 구글에서 찾아볼 수 있다.

※ 개인적으로 이 PDF문서를 열람해 볼 것을 추천한다.

태그 : , , , , , , ,

댓글 없음:

댓글 쓰기

- 스팸 방지를 위해 보안문자(캡차) 확인을 사용하고 있습니다.

덧글 페이지로 이동합니다. 스팸방지를 위해 '단어확인'을 사용하고 있습니다.