javascript
  • html5
  • canvas
  • todataurl
  • 2016-04-12 6 views 1 likes 
    1

    私はイメージをダウンロードしています。 FirefoxやIEではなく、Chromeでのみ動作します。FirefoxとIEでJavascriptがダウンロードされない

     var a = document.createElement('a'); 
         a.href = canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream"); 
         a.download = 'Post-ITIE.jpg'; 
         a.click() 
    

    どのブラウザをどのように動作させることができますか?

    JsFiddle example

    ヘルプは非常にいただければ幸いです。おかげ

    +0

    は私が全体のコードを投稿してください – DinoMyte

    +0

    うんは、snipetはあまり役に立たないことを確認してください。 –

    +0

    新しいブラウザを使用していますFFとIEのサポートHTML5のバージョン – DinoMyte

    答えて

    6
    var fileName = 'Post-ITIE.jpg'; 
    
    if ('msToBlob' in canvas) { // IE10+ 
        var blob = canvas.msToBlob(); 
        navigator.msSaveBlob(blob, fileName); 
    } else { 
        var a = document.createElement('a'); 
        a.setAttribute('href', canvas.toDataURL()); 
        a.setAttribute('target', '_blank'); 
        a.setAttribute('download', fileName); 
        a.style.display = 'none'; 
        document.body.appendChild(a); 
        a.click(); 
        document.body.removeChild(a); 
    } 
    

    それは事のカップルは異なるよりもコードが元々提供を行います。

    msToBlob方法は、Internet Explorerでファイルのダウンロードをサポートするために存在していないか調べ
    • リンク要素にtarget=blankを追加します。これにより、ブラウザがdownload属性をサポートしていなくても、画像が表示されます。
    • .click()がFirefoxで実際に動作するように文書にリンクを追加し、後でそれを削除します。
    +0

    これが動作します、ありがとう – mihkov

    関連する問題