2010-06-25 6 views
2

IE는 완전히 빈 공간에 문제를 일으 킵니다. 그런 다음 작동하지 않는 코드 사이에 어딘가에 경고 상자를 넣으려고 할 때 갑자기 경고 뒤에 전체 논리를 실행하기 시작합니다! .. alert()를 제거하면 다시 공백이됩니다.때때로 alert()은 IE가 IE 없이는 수행하지 않는 작업을 수행합니다.

이것은 무엇입니까 ?? 아무도 이것과 마주 친 적이 있습니까? 제가 이것을 처음 보았을 때 이미 2 년 전이었습니다. 그러나 여기 다시 그것은 나는 그것을 설명 할 수 없다.

+0

나는 당신이 묘사하고있는 것을 말할 수 없다. –

+1

어떤 종류의 코드도없이 가장 좋은 추측은 자바 스크립트의 누락 된 세미콜론입니다. 어떤 방식 으로든 js 파일을 축소/압축하고 있습니까? –

+0

예, 코드를 게시하거나 "실제 질문이 아닙니다"라고 대답하면 ... – GalacticCowboy

답변

3

코드를 보지 않고도 확신 할 수는 없지만 범인이 alert (@gddc의 설명에 제안 된대로)을 추가 할 때 실수로 수정하는 구문 오류이거나 타이밍 문제.

경고 발생 후의 코드에서 아직 일어나지 않은 일이 발생할 것으로 예상되는 타이밍 문제가 발생했습니다. 예를 들어 페이지가로드 될 때 코드가 실행되면 (즉, 페이지가로드 된 후 실행되는 함수가 아닌) <script> 블록에있는 경우 일부 특정 노드가 DOM에있을 것으로 예상 할 수 있지만 나중에 페이지에로드됩니다.

경고 이전에 시작된 AJAX 호출로 인해 발생할 수 있으며 경고 발생 후 코드는 AJAX 호출이 실행될 때까지 반환 될 것으로 예상합니다. AAJAX비동기을 나타냅니다. 호출이 시작된 후 HTTP 요청이 서버에 의해 처리되는 동안 브라우저에서 실행이 계속됩니다.

+1

+1 정보를 기반으로 일관된 답을 제공하는 데 +1을 써주세요 :) – psmears

+0

안녕하세요, 대단히 감사합니다. 꽤 타이밍이 좋았지 만, 처음에는 분명히 분명하지 않았습니다. 이미지를 미리로드하고로드 이벤트에서 .complete 속성을 확인했습니다. 이 기능은 모든 브라우저에서 정상적으로 작동하지만 IE에서는 몇 가지 이유 때문에 .complete 속성은 onload가 실행될 때 false를 제공합니다. 알리미가 나에게 시간을 주었다. – jayarjo

+0

그런데 비슷한 문제가 많이있는 것처럼 보입니다. 예를 들면 다음과 같습니다. http://stackoverflow.com/questions/779379/why-does-settimeoutfn-0-sometimes-help – jayarjo

관련 문제