파일 다운로드 완료 감지 처리
문제:
브라우저가 동적으로 생성된 파일 다운로드는 대기 표시기를 표시할 때 중요합니다. 현재 iframe의 "로드" 이벤트를 사용하면 브라우저 불일치로 인해 이 문제가 해결되지 않습니다.
해결책 1: 브라우저 기반 토큰 확인
클라이언트 측 JavaScript 솔루션에는 다음이 포함됩니다.
서버 측에서는 알고리즘:
코드 조각( JavaScript):
function setFormToken() { var downloadToken = new Date().getTime(); document.getElementById("downloadToken").value = downloadToken; return downloadToken; }
코드 스니펫(PHP):
// Set a cookie to unblock submit button when download begins. $TOKEN = "downloadToken"; $this->setCookieToken($TOKEN, $_GET[$TOKEN]);
솔루션 2: 서버 폴링
또는 서버 측 접근 방식에는 다음이 포함됩니다.
이 방법을 사용하면 임시 서버 파일이 생성되지 않습니다. 그러나 대기 기간 동안 클라이언트-서버 통신이 필요합니다.
장점과 단점:
브라우저 토큰을 사용하면 동적 감지가 가능하지만 브라우저 호환성 문제가 있을 수 있습니다. . 서버 폴링은 더 안정적이지만 속도가 느린 옵션입니다.
위 내용은 브라우저에서 파일 다운로드 완료를 안정적으로 감지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!