2017-12-20 52 views
0

버튼을 클릭 할 때 CSV 파일을 다운로드해야하는 프로젝트에서 작업하고 있습니다. 다운로드는 크롬에 대해서만 작동합니다. 제발 내 코드에 모든 브라우저 (예 : 에지, 파이어 폭스, 사파리 ...)에서 다운로드 작업을해야할지 알아내는 데 도움이내 csv 다운로드 버튼이 Chrome에서만 작동하는 이유

또한 Safari에서 다운로드하는 대신 csv 파일을 엽니 다 새 탭에서

여기 내 코드입니다 :

function download(csv) { 
    var element = document.createElement('a'); 
    element.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv); 
    element.target = '_blank'; 
    element.download = 'services.csv'; 
    element.click(); 
} 
+0

새 탭 문제와 관련하여 새 탭으로 여는 데 사용되는 매개 변수 인 '_blank'를 대상으로 설정합니다. 하지만 어디서나 URL을 지정하지 않고 파일 이름 만 지정하는 것처럼 보입니다. 'csv' 매개 변수를 전달하지만 어디에서나 참조하지는 않습니다. –

답변

0

휠을 다시 제작하는 대신 제 3 자 라이브러리를 사용하는 것이 좋습니다. download.js은 이와 같은 문제에 대한 크로스 플랫폼 라이브러리입니다. 이 라이브러리 작업 코드는 아마 당신은 같은 것을 할 것으로 활용하려면 다음

download(your_csv_data, "services.csv", "text/csv"); 

검사에게 문서 더 멋진 예제에 대한 링크를.

0

아래의 예처럼 보이는 마크 업을 생성합니다. "다운로드"속성을 사용하십시오.

<a href="link/to/your/download/file" download>Download link</a> 

Target = "_ blank"는 추가하려는 경우 파일이 새 탭에서 열리고 다운로드가 시작됩니다.

다운로드 속성을 문자열과 같게 설정하면 다운로드 한 파일의 이름이 해당 값을 사용하게됩니다.