반응형
회사에서 프로젝트를 진행하다가
자바스크립트로 여러 파일을 동시에 다운받게 할 일이 있었다.
기존에 다음과 같이 반복을 통해서 진행하였더니, 정상적으로 동작하지 않았다.
그 이유는 정확히 알지 모르지만 같은 요청을 동시에 요청하는 것을 막는 것 같다.
1 2 3 4 5 6 7 8 | <a id="link" href="다운로드 링크"/> <script> (function() { document.getElementById('link').click(); document.getElementById('link').click(); })(); </script> | cs |
코드에 두개를 요청하였으나, 하나만 다운로드가 되는 것을 알 수 있다.
실패에 원인이 제대로 출력되지 않아 정상적으로 확인하기는 어렵다.
[해결법]
이를 바꾸기 위해서는 어느정도에 interval을 주어야 한다.
1 2 3 4 5 6 7 8 9 10 | <a id="link" href="https://dl.bandisoft.com/bandizip.kr/BANDIZIP-SETUP-KR.EXE">dd</a> <script> (function() { document.getElementById('link').click(); setTimeout(function() { document.getElementById('link').click(); }, 4000); })(); </script> | cs |
이렇게 하면 해결이 되지만, 만약 서버에 request 응답 시간이 지연되면 마찬가지로 되지 않는다.
그럴 경우 promise를 통해 진행하는 것을 추천한다.
참고
https://okky.kr/article/342146
반응형
'web > javaScript' 카테고리의 다른 글
input 태그에 선택한 항목이 label로 출력되게 해주는 choices.js 소개 (0) | 2018.06.17 |
---|---|
div내에 overflow scroll 옵션에 따라 스크롤 생성 시 제일 밑으로 스크롤 내리기 (0) | 2018.06.17 |
var와 let 그리고 const 차이점과 사용법 소개 (0) | 2018.05.27 |
Javascript 처리과정 (0) | 2018.05.27 |
javascript 기타 팁 (0) | 2018.05.27 |