2012-06-05 3 views
0

jqueryWindow (iframe)에서 일부 내용과 버튼을로드하는 페이지를 여는 asp.net 페이지가 있습니다. 사용자가 버튼을 클릭하면 클릭 기능의 끝 부분에서 일부 작업을 수행하는 함수와 setInterval 함수를 호출합니다. 간격 기능은 잘 작동하고 창 (iframe이)가 열려있는 동안 나는 창을 닫을 때, 간격은 파이어 폭스에서 중지하고이 오류가 콘솔에 표시됩니다 :자바 스크립트 간격 및 iframe

attempt to run compile-and-go script on a cleared scope 

을가 IE를 작동하지만.

아이디어가 있으십니까?

추후 설명 : 간격은 function입니다. 하지만 놀랍게도 해당 기능이 해당 간격으로 호출 될 것이라는 것을 알았지 만 오류를 반환하고 때로는 잘 작동하는 방화 광을 사용했습니다. : O

+0

최소 사례를 게시하십시오. – RobG

답변

1

Firefox가 iframe의 범위를 더 이상 존재하지 않아 가비지 수집했습니다. 다른 브라우저는 같은 방식으로 일을하지 않을 수도 있습니다.

setInterval(...) 대신 top.setInterval(...)으로 전화 해보세요.

1

함수가 iframe에서 호출되는 경우 해당 전역 컨텍스트가 손상 되었기 때문에 iframe이 닫힌 후에는 함수가 실행되지 않아야합니다. 나는 함수가 단순히 브라우저에서 실행되지 않고 오류가 발생하지 않을 것으로 기대합니다.

아마도 버그입니까? 어쨌든, Kolink가 말했듯이 부모 (최상위)로부터 호출하려고 시도하지만 팝업 범위에있는 객체 또는 변수를 참조하려는 경우 오류가 발생합니다 (해야합니까?).

+0

간격은 기능이 부모 상태입니다. 하지만 놀랍게도 해당 기능이 해당 간격으로 호출 될 것이라는 것을 알았지 만 오류를 반환하고 때로는 잘 작동하는 방화 광을 사용했습니다. :영형 –

관련 문제