반응형
백오피스의 일부 엑셀 다운로드가 IE에서 안 된다는 오류가 들어왔다. 열어보니 두 케이스였다.
- 프론트에서 데이터 내용을 만들어 a 태그에 넣어 클릭 발생
- 서버에서 받아오지만 ajax로 byte[]를 받아와 a 태그로 만들어 클릭 발생
어쨌뜬 <a/>
의 download
어트리뷰트를 사용한다는 공통점이 있었다. 이건 IE에서는 안된다. download
어트리뷰트가 엣지부터 가능하기 때문이다. (IE를 안 쓰면 모두가 행복한데 ㅠㅠ)
그냥 서버로 처리할까 하다가 msSaveBlob
라는 것을 찾았다. IE10부터 지원한다.
if (window.navigator.msSaveBlob) {
var blob = new Blob([datastring]);
window.navigator.msSaveBlob(blob, fileName);
} else {
// ...
}
마음의 평화가 찾아왔다.
반응형
'프로그래밍 > Javascript' 카테고리의 다른 글
axios 요청 응답 시 오버레이 로딩 이미지 띄우기 (axios beforeSend) (0) | 2019.12.18 |
---|---|
Typescript / TSLint 오류 - Type boolean trivially inferred from a boolean literal, remove type annotation (0) | 2019.05.24 |
document.querySelectorAll(...).forEach 오류 (0) | 2019.04.03 |
자바스크립트 클립보드 복사 (라이브러리 없이) (0) | 2019.01.11 |
IE9에서 $.post 동작하지 않을 때 (0) | 2017.11.07 |