javascript

IE에서 download attribute 사용하기

2021. 7. 26. 11:31
728x90
반응형

참고 stackoverflow

https://stackoverflow.com/questions/18394871/download-attribute-on-a-tag-not-working-in-ie/56300991#56300991

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<a id='a1' href="https://image.shutterstock.com/image-photo/colorful-flower-on-dark-tropical-260nw-721703848.jpg"
download='asdfa.webp'>다운로드</a>
<script>
function MS_bindDownload(el) {
if (el === undefined) {
throw Error('I need element parameter.');
}
if (el.href === '') {
throw Error('The element has no href value.');
}
var filename = el.getAttribute('download');
console.log("filename : " ,filename);
if (filename === null){
throw Error('I need download property.');
}
if (filename === '') {
var tmp = el.href.split('/');
filename = tmp[tmp.length - 1];
}
el.addEventListener('click', function (evt) {
evt.preventDefault(); //href로 이동을 막음
var xhr = new XMLHttpRequest();
xhr.onloadstart = function () {
xhr.responseType = 'blob';
};
xhr.onload = function () {
navigator.msSaveBlob(xhr.response, filename);
};
xhr.open("GET", el.href, true);
xhr.send();
})
}
let element = document.querySelector('a');
if (window.navigator.msSaveBlob){
MS_bindDownload(element);
}
</script>
</body>
</html>

 

728x90
반응형

'javascript' 카테고리의 다른 글

[javascript] object에서 key값에 접근할 때 오류, object[" "]형식으로 접근하기  (0) 2021.10.22
JavaScript Closures MDN 예제 해석  (0) 2021.09.10
JavaScript closure 개념  (0) 2021.09.10
인턴의 첫번째 과제 코드 리뷰  (0) 2021.09.10
function과 function()의 차이, onclikc=function과 onclick=function()의 차이  (0) 2021.08.19
'javascript' 카테고리의 다른 글
  • JavaScript Closures MDN 예제 해석
  • JavaScript closure 개념
  • 인턴의 첫번째 과제 코드 리뷰
  • function과 function()의 차이, onclikc=function과 onclick=function()의 차이
우주유령
우주유령
우주유령
우주
우주유령
전체
오늘
어제
반응형
  • 분류 전체보기 (143)
    • javascript (29)
    • java (26)
    • Network,CI,CD (16)
    • React (7)
    • SQL (2)
    • Spring (20)
    • JSP (1)
    • Tools (20)
    • Vue (3)
    • publishing (2)
    • jpa (8)
    • 책 (1)
    • Test (6)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

최근 글

hELLO · Designed By 정상우.
우주유령
IE에서 download attribute 사용하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.