>  기사  >  웹 프론트엔드  >  다운로드 기능을 구현하는 js 코드 예제

다운로드 기능을 구현하는 js 코드 예제

不言
不言원래의
2018-08-11 14:16:241863검색

이 글의 내용은 js에서 다운로드 기능을 구현하기 위한 코드 예제입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文件下载</title>
    </head>
    <body>
    <div onclick="funDownload(&#39;1111111111&#39;,&#39;文档.txt&#39;)">点我啊</div>
    <div onclick="download(&#39;你棒&#39;,&#39;https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1533799465&di=0f7445fba7d177bfd21b2d71d41531fb&src=http://pic28.photophoto.cn/20130717/0010023915569244_b.jpg&#39;)">点我啊</div><div onclick="downloadUrl(&#39;https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1533799465&di=0f7445fba7d177bfd21b2d71d41531fb&src=http://pic28.photophoto.cn/20130717/0010023915569244_b.jpg&#39;)">点我啊</div>
    <script>
    function funDownload(content, filename) {
        // 创建隐藏的可下载链接
        var eleLink = document.createElement(&#39;a&#39;);
        eleLink.download = filename;
        eleLink.style.display = &#39;none&#39;;        
        // 字符内容转变成blob地址
        var blob = new Blob([content]);
        eleLink.href = URL.createObjectURL(blob);        
        // 触发点击
        document.body.appendChild(eleLink);
        eleLink.click();        
        // 然后移除
        document.body.removeChild(eleLink);
    };    function download(name,href) {
        var $a = document.createElement(&#39;a&#39;);
        $a.setAttribute("href", href);
        $a.setAttribute("download",name);        
        var evObj = document.createEvent(&#39;MouseEvents&#39;);
        evObj.initMouseEvent( &#39;click&#39;, true, true, window, 0, 0, 0, 0, 0, false, false, true, false, 0, null);
        $a.dispatchEvent(evObj);
    }   function downloadUrl(src){
        var $a = document.createElement(&#39;a&#39;);
        $a.setAttribute("href", src);
        $a.setAttribute("download", "");        
        var evObj = document.createEvent(&#39;MouseEvents&#39;);
        evObj.initMouseEvent( &#39;click&#39;, true, true, window, 0, 0, 0, 0, 0, false, false, true, false, 0, null);
        $a.dispatchEvent(evObj);
    }
    </script>
    </body>
    </html>

관련 권장 사항:

js의 배열에서 지정된 요소를 제거하는 방법(두 가지 방법)

js에서 CSS 애니메이션을 작성하는 방법은 무엇입니까? js에서 CSS 애니메이션을 작성하는 방법(코드)

위 내용은 다운로드 기능을 구현하는 js 코드 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.