2016-06-01 17 views
1

現在、html2canvasとFileSaverを使用して、ボタンをクリックしたときに生成されたキャンバスを保存しています。ダイアログがポップアップし、ユーザーは画像を保存する場所を選択し、必要に応じて名前を変更できます。 Firefoxでは完全に動作します。私はそれがクロム、IE、またはSafariのいずれかで動作するように見えることはできません。html2canvas + FileSaverブラウザの問題

html2canvasはその役割を果たし、これらすべてのブラウザのdivからイメージを作成します。 FileSaverダイアログボックスは、上記のブラウザでは機能しないものです。

アイデア?私はスクリプトを添付しました。 (前のSOの記事からいくつかの助けを借りて) https://jsfiddle.net/ticklishoctopus/556etja4/

スクリプト:あなたはここに私の完全な作業コードを見ることができます

$(function() { 
    $("#btnSave").click(function() { 
     html2canvas($("#testbtn"), { 
      onrendered: function (canvas) { 
       theCanvas = canvas; 
       document.body.appendChild(canvas); 

       canvas.toBlob(function (blob) { 
        saveAs(blob, "testimage.jpg"); 
       }); 
      } 
     }); 
    }); 
}); 

答えて

0

実現toBlobは、Chromeでサポートされていません。これを代わりに使用してください: Possible Solution

+0

私はこれを試してみましょう!スクリプトで何かを変更する必要がありますか?または、このライブラリをインポートするだけですか? – ticklishoctopus

+0

の説明を読んでください。標準機能をライブラリから必要なものに変更する必要があるかもしれません。 – ZombieChowder

+0

canvas-toBlob.jsは、それをネイティブにサポートしていないブラウザで、標準のHTML5 canvas.toBlob()およびcanvas.toBlobHD()メソッドを実装しています。すべてのブラウザには存在しないBlobサポートが必要です.Blob.jsはこれを解決するクロスブラウザBlob実装です。 本当の答えはありません。 – ticklishoctopus