鍍金池/ 問答/HTML/ 火狐瀏覽器下a鏈接的download屬性下載失敗

火狐瀏覽器下a鏈接的download屬性下載失敗

clipboard.png
如圖,是一個(gè)canvas轉(zhuǎn)成的img下載,在chrome下可以下載,但是在火狐下沒有反應(yīng)。這是怎么回事,怎么修改?

回答
編輯回答
野橘

a標(biāo)簽加個(gè)download,

<a href="XXX.jpg" download=""> //可以寫,寫了下載名稱就是這個(gè)名字
2017年2月2日 19:06
編輯回答
祈歡

我之前寫一個(gè)拼圖工具的時(shí)候用到了,代碼貼出來
工具:http://screenshots.hpday.cn
都是通過取得base64,然后本地保存成圖片
//html

<a id="dl" download="截圖.jpg"></a>

//js

      var canvas = document.getElementById("showThumbnails");
      var ctx = canvas.getContext("2d");
      var btnDl = document.getElementById("dl");
      if (canvas.msToBlob){
        var blob = canvas.msToBlob();
        window.navigator.msSaveBlob(blob, '截圖.png');
      }else{
        var dt = canvas.toDataURL('image/jpeg', '1.0');
        dt = dt.replace(/^data:image\/[^;]*/, 'data:application/octet-stream');
        dt = dt.replace(/^data:application\/octet-stream/, 'data:application/octet-stream;headers=Content-Disposition%3A%20attachment%3B%20filename=截圖.jpg');
        btnDl.href = dt;
        btnDl.click();
      }

兼容chrome firefox IE11 edge ,我只測(cè)試了這些,IE再低應(yīng)該不支持了

2018年3月13日 05:42
編輯回答
小眼睛

火狐中,需要把 a 標(biāo)簽添加到頁面中,就可以了

document.body.appendChild(aLink);
aLink.style.display='none';
2017年6月15日 01:07