XHR이 활성화되는 동안 Safari와 Chrome이 로딩 애니메이션을 표시하는 것을 방지하는 방법이 있습니까?
-
10-07-2019 - |
문제
서버에서 비동기 이벤트를 수신하기 위해 xmlhttprequest 바인딩을 사용하고 있습니다. XHR은 서버 URI를 열고 이벤트가 오거나 시간 초과가 발생할 때까지 매달립니다. 어쨌든 JS는 즉시 동일한 URI에서 새로운 XHR을 발사합니다.
이것은 잘 작동하지만 Safari와 Chrome에는 성가신 문제가 있습니다. 둘 다 XHR이 활성화되는 동안 "페이지로드"애니메이션을 계속 표시합니다. 크롬은 더 나아가서 커서를 계속 애니메이션하여 응용 프로그램을 효과적으로 사용할 수 없습니다.
이 동작을 비활성화하는 방법이 있습니까? 나는 이것이 보안상의 이유로 의도적으로 이루어 졌다고 생각하므로 사용자는 페이지가 무엇이든로드하고 있는지 항상 알 수 있습니다. 그럼에도 불구하고 FF와 IE는 XHR을 다르게 취급합니다.
해결책
애니메이션로드 표시기는 페이지로드가 진행 중임을 의미합니다. 이것은 Window.onload () 이벤트 핸들러에서 직접 시작한 일련의 XHR에서 발생할 수 있습니다. 이러한 XHR 호출이 settimeout () 호출로 래핑되는 경우, 비동기 이벤트 청취와의 바인딩으로 페이지로드가 완료됩니다.
다른 팁
나는 이것이 URI에 대한 동기화 요청에 발생한다고 생각합니다. 많은 사람들이 비동기 요청을 시도하고 싶어합니다. 나는 그들이 다르게 취급된다고 생각합니다.
제휴하지 않습니다 StackOverflow