나는 setTimeout()
을 호출하는 것을 포함하여 다양한 자바 스크립트 코드를 실행하는 페이지를 가지고있다. 사용자가 링크를 클릭하여 다른 페이지로 이동하면 어떤 시점에서이 페이지의 javascript가 실행을 멈추고 setTimeout에 의해 호출 된 코드가 더 이상 호출되지 않습니다. 예 :링크를 클릭 한 후 언제 자바 스크립트가 페이지에서 실행되지 않습니까?
- 즉시 링크 (I이 잘못 알고있는) 클릭으로
- 브라우저가 새 페이지
- 다른 점을 수신 시작?
다른 주요 브라우저에 따라 다른 점은 무엇입니까?
배경
내가 관심을 위하여 대부분이 알고보다는 특정 문제를 해결하는 것도 중요합니다. 이 문제에 대해 생각하게하는 문제는 사용자가 페이지의 특정 링크를 클릭 할 때 뭔가를하고 싶습니다. 아약스 호출을 수행하고 결과를 처리하고 싶지만, 페이지가 언로드되기 전에 완료되면 너무 걱정하지 않습니다. 그래서 링크 클릭에 setTimeout()을 발생시키고 운이 좋다면 끝낼 것입니다.하지만 그렇지 않다면 끝내지 않을 것입니다. 나는 어떤 상황에서 그것이 효과가 있을지 궁금해했다. 그 문제에 대한 다른 해결책이있을 수 있지만, 나는 그 문제에 대한 해결책을 알고 싶을 뿐이라는 문제에 대한 해결책을 원하지 않는다.
아마도 [onunload 이벤트] (https://developer.mozilla.org/en-US/docs/DOM/window.onunload) 직후에 발생 했겠지만 그게 왜 중요한가요? –
_ 브라우저가 있습니까? –
*'activeTimeers * ('setTimeout'가 추가되는)는 [문서 언로드 문서 정리 단계] 중에 삭제됩니다. (http://www.w3.org/TR/html5/browsers.html#unloading-document-cleanup -steps), [다른 문서 중에서] [unload document procedure'] (http://www.w3.org/TR/html5/browsers.html#unload-a-document)에서 호출됩니다.그러나 정확히 언제 이들이 [탐색 프로세스] (http://www.w3.org/TR/html5/browsers.html#navigating-across-documents) 중에 호출되는지 확실하지 않습니다. – Bergi