首頁 >web前端 >js教程 >js實作下載功能的程式碼實例

js實作下載功能的程式碼實例

不言
不言原創
2018-08-11 14:16:241911瀏覽

這篇文章帶給大家的內容是關於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