js 下载文件

网上的文章乱七八糟,还不支持 IE8,

这里整理了一下,支持 IE 浏览器,360浏览器,火狐,谷歌

当然最简单的其实是后端用流文件的方式给出链接,前端点击a标签直接就下载了(以前chrome浏览器下是这么做的,其他浏览器没测过)

    //url为文件链接地址如: http://xx.xx.com/music.mp3
    //docx类型也支持,其他类型没有测过
    function download(url) {
        //是否支持download属性
        //支持download属性的用download
        //不支持的用form表单
        var isDownLoad = 'download' in document.createElement('a');

        if(!isDownLoad) {
            var $form = $('
'); $form.attr('action', url); $form.appendTo($('body')); $form.submit(); $form.remove(); } else { var aLink = document.createElement('a'); aLink.href = url; aLink.download =''; // HTML5新增的属性,可以指定保存文件名,可以不要后缀,注意,file:///模式下不会生效 var event; if(window.MouseEvent) { event = new MouseEvent('click'); } else { event = document.createEvent('MouseEvents'); event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); } aLink.dispatchEvent(event); } }

你可能感兴趣的:(js 下载文件)